UVA-10976 Fractions Again?!
题目大意:给一个k,寻找出所有使1/k=1/a+1/b(a>b)成立的所有a和b。
题目分析:枚举b,从k+1枚举到2*k。
代码如下:
# include<iostream>
# include<cstdio>
# include<cstring>
# include<algorithm>
using namespace std;
int v[10000];
int main()
{
int k;
while(~scanf("%d",&k))
{
int cnt=0;
for(int b=k+1;b<=2*k;++b)
if((k*b)%(b-k)==0)
v[cnt++]=b;
printf("%d\n",cnt);
for(int i=0;i<cnt;++i)
printf("1/%d = 1/%d + 1/%d\n",k,(v[i]*k)/(v[i]-k),v[i]);
}
return 0;
}


浙公网安备 33010602011771号