心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
<2010年1月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(15)

随笔分类(415)

随笔档案(400)

搜索

  •  

最新随笔

最新评论

评论排行榜

由题意不难得出,k+1 <= y <= 2k,这样的话,枚举y,由k、y解出x即可。
以下是我的代码:
#include<stdio.h>
typedef 
struct
{
    
long x,y;
}pair;
int main()
{
    
long k,x,y,ans;
    pair r[
10007];
    
while(scanf("%ld",&k)==1)
    {
       ans
=0;
       
for(y=k+1;y<=2*k;y++)
         
if((k*y)%(y-k)==0)
         {
            x
=(k*y)/(y-k);
            ans
++;
            r[ans].x
=x;
            r[ans].y
=y;
         }
       printf(
"%ld\n",ans);
       
for(long i=1;i<=ans;i++)
         printf(
"1/%ld = 1/%ld + 1/%ld\n",k,r[i].x,r[i].y);
    }
return 0;
}


posted on 2010-04-24 12:56 lee1r 阅读(297) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:数学/数论

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理