题意:x >= y 1/x <= 1/y 所以y<=2*k
#include<iostream>
#include<cstring>
#include<cstdio>
#define Maxn 1001
using namespace std;
int main(int argc,char* argv[]) {
int k,x,y,a[Maxn],b[Maxn];
while(scanf("%d",&k) == 1) {
int cnt = 0;
for(y = k + 1; y <= k*2; y++) {
if((k * y) % (y - k) == 0) {
a[++cnt] = (k * y) / (y - k);
b[cnt] = y;
}
}
printf("%d\n",cnt);
for(int i=1; i<=cnt; i++) printf("1/%d = 1/%d + 1/%d\n",k,a[i],b[i]);
}
return 0;
}