分数拆分

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描写叙述

如今输入一个正整数k,找到全部的正整数x>=y,使得1/k=1/x+1/y.

输入
第一行输入一个整数n,代表有n组測试数据。

接下来n行每行输入一个正整数k
输出
按顺序输出相应每行的k找到全部满足条件1/k=1/x+1/y的组合
例子输入
2
2
12
例子输出
1/2=1/6+1/3
1/2=1/4+1/4
1/12=1/156+1/13
1/12=1/84+1/14
1/12=1/60+1/15
1/12=1/48+1/16
1/12=1/36+1/18
1/12=1/30+1/20
1/12=1/28+1/21
1/12=1/24+1/24

解题思路:
   能够将式子转化为1/k-1/y=1/x  通过观察能够发现,y是从k+1開始的,以x<y结束。
   (y-k)/(k*y)=1/x
   由于c语言中两个整数相除结果还是整数,避免5/2=2的情况出现,要事先(k*y)%(y-k),推断能否够整除。

代码
#include<stdio.h>
int main()
{
int n;
int k;
int x,y;
int i,j;
scanf("%d",&n);
while(n--)
{
scanf("%d",&k);
for(i=k+1;;i++)
{
if(i*k%(i-k)==0)//要事先推断一下能否够整除
{
if(i*k/(i-k)>=i)
printf("1/%d=1/%d+1/%d\n",k,i*k/(i-k),i);
else
break;
}
}
}
return 0;
}

1503162139-ny-分数拆分的更多相关文章

  1. NYOJ 66 分数拆分

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

  2. nyoj_66_分数拆分_201312012122

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

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

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

  4. 分数拆分( 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 ...

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

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

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

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

  7. 分数拆分(刘汝佳紫书P183)

    枚举,由已知条件推得y大于k,小于等于2K AC代码: #include"iostream"#include"cstring"using namespace s ...

  8. UVA - 10976 分数拆分

    题意: 给定正整数k(1<=k <= 10000),找出所有正整数 x>= y, 使得1/k = 1/x + 1/y 分析: 因为 x >= y 所以 1/x <= 1/ ...

  9. UVA10976 分数拆分 Fractions Again?! 题解

    Content 给定正整数 \(k\),找到所有的正整数 \(x \geqslant y\),使得 \(\frac{1}{k}=\frac{1}{x}+\frac{1}{y}\). 数据范围:\(0& ...

随机推荐

  1. 深度揭秘阿里移动端高性能动态化方案Weex

    2016年Qcon大会首日,阿里巴巴资深总监.淘宝移动平台.阿里百川负责人庄卓然宣布移动端高性能动态化方案Weex即时内测,并将于6月开源.此消息一出,群情汹涌,在座的程序猿.攻城狮们纷纷拿起手机扫码 ...

  2. Web前端开发最佳实践(2):前端代码重构

    前言 代码重构是业内经常讨论的一个热门话题,重构指的是在不改变代码外部行为的情况下进行源代码修改,所以重构之前需要考虑的是重构后如何才能保证外部行为不改变.对于后端代码来说,可以通过大量的自动化测试来 ...

  3. Codeforces Round #492 (Div. 2) [Thanks, uDebug!]

    这次的题好奇怪哦... C - Tesla 思路:先把跟停车位相邻的车停进去,然后开始转圈... #include<bits/stdc++.h> #define LL long long ...

  4. RSA私钥和公钥文件格式 (pkcs#1, pkcs#8, pkcs#12, pem)

    RSA私钥和公钥文件格式 (pkcs#1, pkcs#8, pkcs#12, pem) 2018年03月07日 11:57:22 阅读数:674 Format Name Description PKC ...

  5. Java I/O学习

    转载: Java I/O学习 一.Java I/O类结构以及流的基本概念 在阅读Java I/O的实例之前我们必须清楚一些概念,我们先看看Java I/O的类结构图: Java I/O主要以流的形式进 ...

  6. 【转】VueJS中学习使用Vuex详解

    转自:https://segmentfault.com/a/1190000015782272   在SPA单页面组件的开发中 Vue的vuex和React的Redux 都统称为同一状态管理,个人的理解 ...

  7. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  8. 后台开发常用mysql语句_v1.0

    目录 一.基本信息查看 1. 表描述 二.表操作 1. 查看建表语句 2.查看表 3. 创建表 4. 更新表 5. 删除表 6. 重命名表 三.索引操作 1. 查看索引 2. 创建索引 3. 修改索引 ...

  9. C和指针之学习笔记(5)

    第10章 使用结构和指针 单链表 typedef struct NODE { struct NODE *link; int value; } Node; 插入到一个有序单链表: #include< ...

  10. Hibernate 过滤查询(hibernate过滤器的使用)

    我们在开发过程中过滤查询使用的还是挺多的,今天来学习一下hibernate的过滤器的使用,首先学习在配置文件中如何使用,然后再介绍如何使用注解配置. 1.使用配置文件配置过滤器  1)首先我们使用my ...