题目描述
输入正整数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<bits/stdc++.h>
using namespace std;
int main()
{
int i=0,j,k,m,x,y,n,cnt=0;
int a[1000],b[1000];
cin>>k;
for(x=10000;x>0;x--)
{
for(y=1;y<=x;y++)
{
if(x*y==k*(x+y))
{
cnt++;
a[i]=x;
b[i]=y;
i++;
}
}
}
cout<<i<<endl;
for(i=0;i<cnt;i++)
{
printf("1/%d = 1/%d + 1/%d\n",k,a[i],b[i]);
}
return 0;
}