题意还是很明显,就是让你找。
但是还是需要先分析,xy关系可以推算出y的最大范围2k
然后公式两边乘一乘,枚举y即可求出x,再判断。
#include<stdio.h>
#include<math.h>
using namespace std;
#define eps 1e-9
//x(y-k)=y*k
int main()
{
int k,x,y;
while(scanf("%d",&k)!=EOF)
{
int sum=0;
for(int y=k+1;y<=2*k;y++){
if((y*k)%(y-k)==0){
int t=(y*k)/(y-k);
if(t>=y) sum++;
}
}
printf("%d\n",sum);
for(int y=k+1;y<=2*k;y++){
if((y*k)%(y-k)==0){
int t=(y*k)/(y-k);
if(t>=y) printf("1/%d = 1/%d + 1/%d\n",k,t,y);
}
}
}
return 0;
}