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

1036 ワード

このテーマは分析を見て、とても簡単な感じがします!直接1 Yですが、やはり大きな収穫がありました!
この問題にはフォーマットの問題はありません.暴力的なテクニックだけがあります.
考えはあまり言わないで、紫書ははっきり言っています.
収穫:
1.暴力求解问题は完全な暴力ではありません.暴力求解にも一定のテクニックがあります.后でこの问题をするには、数学式を分析し、データの范囲を见つけた后、暴力では、简単になります.
2.1つの分式が整数かどうかを判断するとき、直接浮動小数点数にならないで、直接分子分母の2つの整数を譲って、余剰演算を行って0かどうかを見て、これは本当に1つの整数かどうかを判断する簡単なテクニックです!
#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 << "
"; for (int i = 0; i < cont; ++i)cout << "1/" << k <<" = 1/" << po[i].x << " + 1/"<< po[i].y<<"
"; } return 0; }