分数表达式-------------计算1/k = 1/x + 1/y;
Sample Input |
2 2 12 |
Sample Output |
1/2=1/6+1/3 1/2=1/4+1/4 1/12=1/156+1/13 1/12=1/84+1/14 1/12=1/60+1/15 1/12=1/48+1/16 1/12=1/36+1/18 1/12=1/30+1/20 1/12=1/28+1/21 1/12=1/24+1/24 |
Code
:
1 # include<iostream> 2 # include<cstdio> 3 using namespace std; 4 int main() 5 { 6 int n; 7 cin>>n; 8 int x,y,k; 9 int cnt = 0; 10 while(n--) 11 { 12 cin>>k; 13 if(cnt!=0) 14 { 15 cout<<endl; 16 } 17 for(int y=k+1; y<=2*k; y++)//之所以为2×K是因为 18 以1/2 = 1/4+1/4;顶多循环到二倍即4 19 { 20 if((k*y)%(y-k)==0) { 21 int x=(k*y)/(y-k); 22 cout<<"1/"<<k<<"=1/"<<x<<"+1/"<<y<<endl; 23 } 24 } 25 cnt++; 26 } 27 return 0; 28 }