uva 10976 Fractions Again?!

来源:互联网 发布:淘宝网天猫运动鞋 编辑:程序博客网 时间:2024/06/05 15:20

题目:Fractions Again?!


题意:有正整数n,求x,y使得1/k=1/x+1/y (x>y)。


思路:枚举k、y,求x。


代码:

#include<iostream>#include<cstdio>#include<cstring>#include<vector>using namespace std;struct Pair{int x,y;Pair(int one,int two){x=one,y=two;}};int main() {int n;while(scanf("%d",&n)==1) {if(n==1){printf("1\n1/1 = 1/2 + 1/2\n");continue;}vector<Pair> vec;int x=0,y=n;while(++y){int up,down;down=y*n,up=y-n;if(down%up!=0) continue;x=down/up;if(y>x) break;vec.push_back(Pair(x,y));}printf("%d\n",vec.size());for(int i=0;i<vec.size();i++) printf("1/%d = 1/%d + 1/%d\n",n,vec[i].x,vec[i].y);}return 0;}


原创粉丝点击