码迷,mamicode.com
首页 > 其他好文 > 详细

uva 10976 fractions again(水题)——yhx

时间:2016-03-23 23:37:22      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 1 #include<cstdio>
 2 int a[30010],b[30010];
 3 int main()
 4 {
 5     int i,j,k,l,m,n,x,y,z;
 6     while (scanf("%d",&k)==1)
 7     {
 8         n=0;
 9         for (i=k+1;i<=2*k;i++)
10           if ((k*i)%(i-k)==0)
11           {
12               a[++n]=k*i/(i-k);
13               b[n]=i;
14           }
15         printf("%d\n",n);
16         for (i=1;i<=n;i++)
17           printf("1/%d = 1/%d + 1/%d\n",k,a[i],b[i]);
18     }
19 }

编程很简单,关键在于数学推导。

∵x≥y

∴1/x≤1/y

∴1/k=1/x+1/y≤2/y

即y≤2k

又易知y>k

在此范围内枚举即可。

验证时,

由1/k=1/x+1/y

得x=ky/(y-k),

判断上式是否为整数即可。

uva 10976 fractions again(水题)——yhx

标签:

原文地址:http://www.cnblogs.com/AwesomeOrion/p/5313672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!