UVA 10976:Fractions Again?!
程序员文章站
2022-06-08 12:23:38
...
题目如下:
UVA 10976
题意:
输入正整数k,找到所有的正整数x>=y,使得满足图上等式。
思路:
我们可以枚举一个数来判断另一个是否是整数,那么就需要找到一个数的范围。如果我们找y的范围y可以从2开始一直到2*k结束(不等式和给出的方程推出)。最后要判断的是x>=y和x是否为整数。
代码如下:
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int k, x, y;
while(scanf("%d", &k) != EOF)
{
int c = 0;
int ar[1000], br[1000];
for(y = k + 1; y <= 2 * k; y++)
{
if((k * y) % (y - k) == 0)
{
x = (k * y) / (y - k);
if(x >= y)
{
ar[c] = x;
br[c] = y;
c++;
}
}
}
cout << c << endl;
for(int i = 0; i < c; i++)
{
cout << "1/" << k << " = 1/" << ar[i] << " + 1/" << br[i] << endl;
}
}
return 0;
}
上一篇: DNA序列
下一篇: Dream缺陷跟踪系统2.0版本 测试版