zoukankan      html  css  js  c++  java
  • Fractions Again?! UVA

    It is easy to see that for every fraction in the form 1
    k
    (k > 0), we can always find two positive integers
    x and y, x ≥ y, such that:
    1
    k
    =
    1
    x
    +
    1
    y
    Now our question is: can you write a program that counts how many such pairs of x and y there
    are for any given k?
    Input
    Input contains no more than 100 lines, each giving a value of k (0 < k ≤ 10000).
    Output
    For each k, output the number of corresponding (x, y) pairs, followed by a sorted list of the values of
    x and y, as shown in the sample output.
    Sample Input
    2
    12
    Sample Output
    2
    1/2 = 1/6 + 1/3
    1/2 = 1/4 + 1/4
    8
    1/12 = 1/156 + 1/13
    1/12 = 1/84 + 1/14
    1/12 = 1/60 + 1/15
    1/12 = 1/48 + 1/16
    1/12 = 1/36 + 1/18
    1/12 = 1/30 + 1/20
    1/12 = 1/28 + 1/21
    1/12 = 1/24 + 1/24

    #include <iostream>//求1/n = 1/x + 1/y
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <string>
    using namespace std;
    int x[10011],y[10011];
    int main()
    {
        int n,cnt;
        while(cin >> n)
        {
            memset(x,0,sizeof(x));
            memset(y,0,sizeof(y));
            cnt = 0;
            for(int i=n+1;i<=2*n;i++)
            {
                if((i*n)%(i-n)==0)//注意这个判断条件,判断等式是否可能成立
                {
                    x[cnt] = (i*n)/(i-n);//求x的式子
                    y[cnt] = i;
                    cnt++;
                }
            }
            printf("%d
    ",cnt);
            for(int i=0;i<cnt;i++)
                printf("1/%d = 1/%d + 1/%d
    ",n,x[i],y[i]);
        }
        return 0;
    }
    彼时当年少,莫负好时光。
  • 相关阅读:
    TCP/IP详解卷:协议 第八章简要总结
    渗透测试1
    以前的实验博客地址,以前使用csdn
    day03---Node (05)
    day03---Vue(04)
    day03---Vue(03)
    day03---ES6入门(02)
    day03---前端开发和前端开发工具(01)
    Docker实战总结
    ETL之Kettle入门
  • 原文地址:https://www.cnblogs.com/l609929321/p/6900911.html
Copyright © 2011-2022 走看看