标签:
直接暴力 没技巧
y应该从k+1开始循环,因为不然y-k<0的时候 你相当于(x*y) % (负数) 了。
1 #include <iostream> 2 using namespace std; 3 int X[10005]; 4 int Y[10005]; 5 int main() 6 { 7 int k,cnt; 8 while(cin>>k) 9 { 10 cnt=0; 11 for(int y=k+1;y<=2*k;y++) 12 { 13 if( ( (k*y)%(y-k)==0 ) ) 14 { 15 X[cnt]=k*y/(y-k); 16 Y[cnt]=y; 17 cnt++; 18 } 19 } 20 cout<<cnt<<endl; 21 for(int i=0;i<cnt;i++) 22 cout<<"1/"<<k<<" = 1/"<<X[i]<<" + 1/"<<Y[i]<<endl; 23 } 24 return 0; 25 }
标签:
原文地址:http://www.cnblogs.com/luosuo10/p/5540646.html