There for you.
-----------------------------
y>k枚举到y=min(x,2k)=2k为止。
#include <iostream>
#include <cstdio>
using namespace std;
int k;
//解决无限枚举
//枚举范围和剪枝同样重要
int main(){
while(cin>>k)
for(int y=k+1;y<=2*k;y++){
int x=(y*k)/(y-k);
if((y*k)%(y-k)==0&&x>0){//还要考虑负数的情况
cout<<"1/"<<k<<" = "<<"1/"<<x<<" + "<<"1/"<<y<<endl;
}
}
return 0;
}