题意:

给定正整数k(1<=k <= 10000),找出所有正整数 x>= y, 使得1/k = 1/x + 1/y

分析:

因为 x >= y

所以 1/x <= 1/y

因为 1/x + 1/y = 1/k

所以 1/k <= 2/y 即 y <= 2k 且 y >= k + 1

枚举y算出x即可

因为要避免浮点数运算, 所以可以通过1/k - 1/y  = 1/x 推出 x = (k*y)/(k-y). 那么只要k*y可以整除(k-y), x就是整数, 在判断一下x是否大于0即可

#include <bits/stdc++.h>
using namespace std;
#define rep(i,a) for(int i = 0; i <= a; i++)
const double eps = 1e-;
int n;
int main()
{
#if LOCAL
// freopen("1.txt","r",stdin);
// freopen("2.txt","w",stdout);
#endif // LOCAL
int k;
int X[], Y[];
while(scanf("%d", &k) != EOF){
int y = ;
int cnt = ;
int x;
for(y = k + ; y <= * k ; y++){
if((k*y) % (y-k) == ){
X[cnt] = (k*y )/ (y-k);
Y[cnt] = y;
cnt++;
}
}
printf("%d\n", cnt);
for(int i = ; i < cnt; i++){
printf("1/%d = 1/%d + 1/%d\n", k ,X[i] ,Y[i]);
}
} }

UVA - 10976 分数拆分的更多相关文章

  1. UVA 10976 分数拆分【暴力】

    题目链接:https://vjudge.net/contest/210334#problem/C 题目大意: It is easy to see that for every fraction in ...

  2. 暴力枚举 UVA 10976 Fractions Again?!

    题目传送门 /* x>=y, 1/x <= 1/y, 因此1/k - 1/y <= 1/y, 即y <= 2*k */ #include <cstdio> #inc ...

  3. NYOJ 66 分数拆分

    分数拆分 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.   输入 第一行输入一个 ...

  4. UVA 725 UVA 10976 简单枚举

    UVA 725 题意:0~9十个数组成两个5位数(或0开头的四位数),要求两数之商等于输入的数据n.abcde/fghij=n. 思路:暴力枚举,枚举fghij的情况算出abcde判断是否符合题目条件 ...

  5. nyoj_66_分数拆分_201312012122

    分数拆分 时间限制:3000 ms  |           内存限制:65535 KB 难度:1   描述 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.   输 ...

  6. 分数拆分( Fractions Again, UVA 10976)-ACM

    It is easy to see that for every fraction in the form  (k > 0), we can always find two positive i ...

  7. 分数拆分(Fractions Again?!, UVa 10976)

    题目链接:https://vjudge.net/problem/UVA-10976 It is easy to see that for every fraction in the form 1k(k ...

  8. uva 10976 Fractions Again(简单枚举)

    10976 Fractions Again It is easy to see that for every fraction in the form 1 k (k > 0), we can a ...

  9. 7_3 分数拆分(UVa10976)<缩小枚举范围>

    每一个(k>0)这种形式的分数我们总是可以找到2个正整数x和y(x >= y),使得:现在我们的问题是:给你k,请你写一个程序找出所有的x和y.Input输入含有多组测试数据(不会超过10 ...

随机推荐

  1. [ZPG TEST 117] 跑路【构图】

    一看懵了,求一条路的长度whose二进制位中1的个数最小?什么鬼. 其实这种n这么小的图论题,应该往Floyd上想了.令f(p, i, j)为从i走长度为2^p长度的路能否到j,若能,则在一张新的图上 ...

  2. 51nod 1088 最长回文子串

    1088 最长回文子串 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一 ...

  3. Struts2 表单提交与execute()方法的结合使用

    1.创建web项目,添加struts2支持的类库,在web.xml中配置struts2过滤器. 2.创建名为UserAction的Action对象,并在其中编写execute()方法,代码如下所示: ...

  4. centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL

    一.安装环境 操作系统 Windows7 Enterprise 64位 需要用到的软件 JDK:jdk-8u60-linux-x64.rpm Glassfish: Glassfish4.1.1.zip ...

  5. chromedriver与chrome版本对应

    今天把手头有的一些关于selenium测试的资源整理了一下,分享出来. 1. 所有版本chrome下载 是不是很难找到老版本的chrome?博主收集了几个下载chrome老版本的网站,其中哪个下载的是 ...

  6. VS打包后生成快捷方式:目标指向错误、Icon图标分辨率有误问题解决方案

    1.目标指向错误: 在安装***.msi文件后,对快捷方式-->右键-->属性: 发现目标并非指exe文件. 于是我新建了一个快捷方式,将目标-->指向exe文件,位置Ctrl+v. ...

  7. skeljs框架关键点使用

    global  全局 style.css    containers: 1400px;容器宽度 xlarge  超大屏(media: max-width:1680px) style-xlarge.cs ...

  8. UnixTime的时间戳的转换

    public static string XConvertDateTime(double unixTime) { System.DateTime time = System.DateTime.MinV ...

  9. npm安装淘宝镜像cnpm报错npm ERR! errno -4048

    今天在安装淘宝镜像的时候报错了,第一次遇上,表示很懵逼 然后捣腾了半天以为是npm install 的时候出错,后来网上查到是 装淘宝镜像cnpm的时候报错,好像是权限问题,解决方法:  npm ca ...

  10. 电商网站项目Angular+Bootstrap+Node+Express+Mysql

    1.登陆 2.注册 3.主页 4.购物车 5.管理中心 6.文件上传 代码: https://github.com/Carol0311/min_Shop.git 后期会持续进行功能更新以及开发阶段遇到 ...