一、题目
输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.
二、源代码
#include <stdio.h>
int main(){
int k,x,y;
int rem,temp;
scanf("%d",&k);
for(y=k;y<=2*k;y++){
for(x=k+1;x<=k*(k+1);x++){ //这里的上限是:一个数和与他相邻的数的最大公约数是k*(k+1)
temp= x*y/(x+y);
rem = x*y%(x+y); //将题目中给出的公式转换一下进行判断
if(temp==k&&rem==0)
printf("1/%d=1/%d+1/%d\n",k,x,y);
}
}
return 0;
}