UVa10976 Fractions Again?! (推公式)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVa10976 Fractions Again?! (推公式)相关的知识,希望对你有一定的参考价值。

链接:http://acm.hust.edu.cn/vjudge/problem/37234
分析:x>=y和1/k=1/x+1/y=>y<=2k再加上x,y,k都是正整数可以推出y>k。

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main() {
 5     int k;
 6     while (scanf("%d", &k) == 1) {
 7         int num = 0, a[1000], b[1000];
 8         for (int y = k + 1; y <= 2 * k; y++)
 9             if ((y * k) % (y - k) == 0) {
10                 a[num] = (y * k) / (y - k);
11                 b[num] = y;
12                 num++;
13             }
14         printf("%d\n", num);
15         for (int i = 0; i < num; i++)
16             printf("1/%d = 1/%d + 1/%d\n", k, a[i], b[i]);
17     }
18     return 0;
19 }

 

以上是关于UVa10976 Fractions Again?! (推公式)的主要内容,如果未能解决你的问题,请参考以下文章

Uva 10976 Fractions Again?!

uva 10976 Fractions Again?!

UVa10976 Fractions Again?! (推公式)

例题 7-3 UVA - 10976Fractions Again?!

UVa10976 - Fractions Again?!

Uva10976