7-3 UVA 10976 Fractions Again?!分数拆分

时间:2020-12-13 08:18:57

这个题目在看了分析后,感觉非常简单!直接1Y,但还是有非常大的收获的!

这个题没有什么格式问题,有的只是暴力的技巧,

思路就不多说了 ,紫书说的很清楚,

收获:

1.暴力求解题并不是完全的暴力,暴力求解也是有一定技巧的,以后做这种题要先分析数学式子,找到数据范围后,在暴力,这样会简单很多很多!

2.在判断一个分式是不是整数的时候,不要直接变为浮点数,直接让分子分母两个整数,进行取余运算看是不是为0,这真的是一个判断是否为整数的简便技巧!

#include<iostream>
#include<cmath>
using namespace std;
struct point
{
    int x,y;
}po[1000];
int main()
{
    int k;
    while(cin >> k && k){
        int j,cont = 0;
        for (j =  k + 1; j <= 2 * k; ++j){
            if(k * j % (j - k) == 0){
                po[cont].x = (k * j) / (j - k) ;
                po[cont].y = j;
                cont++;
            }
        }
        cout << cont << "\n";
        for (int i = 0; i < cont; ++i)cout << "1/" << k <<" = 1/" << po[i].x << " + 1/"<< po[i].y<<"\n";
    }
    return 0;
}