题目描述
输入正整数k,遇到文件末尾结束。找到所有的正整数x和y(x大于等于y),使得1/k=1/x+1/y。
输入
一行输入一个正整数k。
输出
先在第一行输出解的个数,再每行输出一个表达式。
样例输入
2
样例输出
2
1/2 = 1/6 + 1/3
1/2 = 1/4 + 1/4
#include <stdio.h>
main()
{
int a,b,x,y,j=0,i=0;
int k[100],p[100];
float m,n,Q,T;
scanf("%d",&a);
m=(float)1/a;
for(x=1000;x>=2*a;x--)
{
for(y=a;y<=x;y++)
{
Q=(float)1/x;
T=(float)1/y;
n=Q+T;
if(m==n)
{
k[i]=x;
p[i]=y;
i++;
}
}
}
printf("%d\n",i);
for(j=0;j<i;j++){
printf("1/%d = 1/%d + 1/%d\n",a,k[j],p[j]);}
}