您的位置:首页 > 大数据 > 人工智能

uva 10976 Fractions Again?!

2017-08-14 15:08 344 查看


题目: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uva 枚举 暴力