UVa-10976 Fractions Again?!

 1 #include <bits/stdc++.h>
 2 #define _for(i,a,b) for(int i = (a);i < (b);i ++)
 3 using namespace std;
 4 
 5 bool ok(int y,int k)
 6 {
 7     return (y*k%(y-k)==0);
 8 }
 9 
10 int forx(int y,int k)
11 {
12     return y*k/(y-k);
13 }
14 
15 int main()
16 {
17     int k;
18     while(~scanf("%d",&k))
19     {
20         int n = 0;
21         vector<pair<int,int>> v; 
22         
23         _for(i,k+1,2*k+1)
24         {
25             if(ok(i,k))
26             {
27                 
28                 n ++;
29                 v.push_back({forx(i,k),i});
30             }
31             
32         }
33         
34         printf("%d\n",n);
35         _for(i,0,v.size())
36             printf("1/%d = 1/%d + 1/%d\n",k,v[i].first,v[i].second);
37     }
38     return 0;
39 }

猜你喜欢

转载自www.cnblogs.com/Asurudo/p/10036438.html