UVa 10976 Fractions Again?
来源:互联网 发布:c语言求1000以内素数 编辑:程序博客网 时间:2024/05/14 14:20
题目链接:
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=37234
题目描述:
输入正整数k,找到所有正整数 x>=y,使得1/k = 1/x + 1/y.
思路:
因为 x>=y 所以有: 1/k <= 1/y + 1/y –> 1/k <= 2/y –> y <= 2k. 又因为 1/k = 1/y + 1/x –> k*y / (y-k) = x, 即当 k*y % (y-k) == 0时,必然得整数x,此对xy为一解。
/************************************************************************* > File Name: UVa_10976.cpp > Author: dulun > Mail: dulun@xiyoulinux.org > Created Time: 2016年03月19日 星期六 00时45分43秒 ************************************************************************/#include<iostream>#include<stdio.h>#include<cstring>#include<cstdlib>#include<algorithm>#define LL long longusing namespace std;const int N = 1086;int x[N];int Y[N];int main(){ int k; while(~scanf("%d", &k)) { int sum = 0; int k2 = k<<1; for(int y = k+1; y <= k2; y++) { if(k * y % (y - k) == 0) { x[sum] = k*y / (y-k); Y[sum] = y; sum++; } } printf("%d\n", sum); for(int i = 0; i < sum; i++) printf("1/%d = 1/%d + 1/%d\n", k, x[i], Y[i]); } return 0;}
0 0
- UVA 10976 - Fractions Again?!
- UVA 10976 - Fractions Again?!
- UVA-10976 - Fractions Again?!
- UVA - 10976 Fractions Again?!
- UVa 10976 - Fractions Again?!
- UVa 10976 - Fractions Again?!
- UVa 10976 - Fractions Again?!
- UVA - 10976 Fractions Again?!
- uva 10976 - Fractions Again?!
- UVa 10976 Fractions Again?!
- Uva - 10976 - Fractions Again?!
- UVA - 10976 Fractions Again?!
- uva 10976Fractions Again?!
- UVA 10976 - Fractions Again?!
- UVA 10976 Fractions Again?!
- UVA 10976 Fractions Again?!
- UVa 10976 Fractions Again?
- UVa 10976 Fractions Again?!
- 二叉树
- Graphite详解
- ssdc_2016架构专场准备(一)
- C语言实现并发查找
- 蓝桥杯之最简单的分治法-----数字旋转方阵
- UVa 10976 Fractions Again?
- 1085. Perfect Sequence (25)【二分查找】——PAT (Advanced Level) Practise
- Android 中实现省市区的联动,在收货地址选择中用到
- 矩阵乘法
- 1086. Tree Traversals Again (25)【二叉树】——PAT (Advanced Level) Practise
- Swift柯里化(Currying)
- android_设备管理员
- Sublime Text3 C++ 设置
- 用jquery实现Tab切换菜单