Time Limit: 3000MS | Memory Limit: Unknown | 64bit IO Format: %lld & %llu |
#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
struct number
{
int x;
int y;
}num;
vector<number>vec;
int main()
{
/*
因为x>=y;所以
所以1/k<=2*1/y;
所以2/2*k<=2/y;
y<=2*k;
*/
int k,i,a,b,c,d;
while(cin>>k)
{
vec.clear();
for(i=k+1;i<=2*k;i++)
{
c=k*i;
d=i-k;
if(c%d==0)
{
c=c/d;
d=1;
num.x=c;
num.y=i;
vec.push_back(num);
}
}
cout<<vec.size()<<endl;
for(i=0;i<vec.size();i++)
{
printf("1/%d = 1/%d + 1/%d\n",k,vec[i].x,vec[i].y);
}
}
}