UVa 10976
来源:互联网 发布:elasticsearch mysql 编辑:程序博客网 时间:2024/04/30 12:19
题目:给你一个数k,找到所有的正整数x>=y,使得1/k = 1/x + 1/y成立
分析:
这里的x,y乍一看没有范围,不知如何枚举,但仔细对已知条件进行变形就可以发现y<=2k,利用这个条件我们顺便再把x求出来就好了
#include<iostream>using namespace std;int a[100];int b[100];int main(){ int k; cin>>k; int count=0; for(int y=1;y<=2*k;y++) { if(y-k>0) { if((k*y)%(y-k)==0) { int x=(k*y)/(y-k); if(x>=y) { a[count]=x; b[count]=y;//记录x,y的值,因为此时不能输出,要输入count先 count++; } } } } cout<<count<<endl; for(int i=0;i<count;i++) { cout<<"1/"<<k<<"="<<"1/"<<a[i]<<"+1/"<<b[i]<<endl; } return 0; }
结果如图:
注意:对于暴力求解问题,对问题进行一定的分析往往会使得算法更加的简便
0 0
- uva 10976
- UVa 10976
- UVa 10976
- UVA 10976
- Uva 10976
- UVA 10976
- UVA 10976
- UVA Fractions Again?! UVA - 10976
- 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?!
- 2. Add Two Numbers
- 学习日记-集合容器
- AspectJ切面执行两次原因分析
- android的UI和常用控件
- 第七十篇:从ADAS到自动驾驶(三):车道检测
- UVa 10976
- 数据结构-线性表
- JS中Float类型加减乘除
- 神经网络:多层网络与C++实现
- C# 控制台简单日历
- 软件测试——电话账单收费
- 大数据工程师(开发)面试系列(4)
- 关于static的一些小代码
- sql中表级约束和列级约束