首页 > 其他 > 详细

UVA 10976 Fractions Again?!

时间:2015-10-06 10:19:15      阅读:357      评论:0      收藏:0      [点我收藏+]

题意:

  输入一个正整数k,找出所有正整数x>=y,使得1/k=1/x+1/y

分析:

  x>=y退出1/x<=1/y,所以1/k-1/y<=1/y,所以y<=2k;枚举y

代码:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int k;
int x[10011],y[10011];
int main()
{
int cnt;int i;
while(~scanf("%d",&k))
{
cnt=0;
        for(i=k+1;i<=2*k;i++)
{
if((k*i)%(i-k)==0)
{
y[cnt]=i;
x[cnt]=(k*i)/(i-k);
cnt++;
}
}
printf("%d\n",cnt);
for (i=0;i<cnt;++i)
printf("1/%d = 1/%d + 1/%d\n",k,x[i],y[i]);
}
}

UVA 10976 Fractions Again?!

原文:http://www.cnblogs.com/137033036-wjl/p/4856699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!