zoukankan      html  css  js  c++  java
  • UVA

    Problem A: Fractions Again?!

    Time limit: 1 second

    It is easy to see that for every fraction in the form  (k > 0), we can always find two positive integers x and yx ≥ y, such that: 

    .

    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 (xy) 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
    
    
    
    
    
    
    注意找k,x,y之间的规律和范围,不能盲目暴力啊
    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int k;
        while(scanf("%d", &k)!=EOF)
        {
            int x, y, cnt = 0;
            vector<int> res1, res2;
            for(y = k+1; y <= 2*k; y++)
            {
                x = (k*y)/(y-k);
                if(k*y == (y-k)*x){
                    cnt++;
                    res1.push_back(x);
                    res2.push_back(y);
                }
            }
            printf("%d
    ", cnt);
            for(int i = 0; i < cnt; i++)
                printf("1/%d = 1/%d + 1/%d
    ", k, res1[i], res2[i]);
        }
        return 0;
    }


  • 相关阅读:
    python基础#1
    shell脚本基础练习题
    shell计算100以内加法
    shell脚本添加用户
    python学习ing
    框架
    前端
    python基础之数据类型-面向对象
    python四种列表的插入方法及其效率
    Charles高阶操作
  • 原文地址:https://www.cnblogs.com/kunsoft/p/5312772.html
Copyright © 2011-2022 走看看