分数划分

题目内容

题目描述

很容易看出形式为1 / k的每个分数(k> 0),我们总能找到两个正整数x和y,x≥y,这样:

  。现在我们的问题是:你能编写一个程序来计算这里对于给定的看k,有多少这样的x和y?


输入描述

输入包含不超过100行,每行给出k(1<=k<=100000)


输出描述

对于每个k,输出相应的(x,y)对的数量,然后是值的排序列表
x和y,如示例输出中所示。

样例输入

2 12

样例输出

2 1/2 = 1/6 + 1/3 1/2 = 1/4 + 1/4 8 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

提示

题目就知道要枚举x和y了,但是x和y的上限是完全不知道的,这个时候我们就要对题目给出来的数据进行分析了:


1、x>=y,则有1/x <=1/y,因此1/k<=1/y+1/y;由此可得y的上限为2k


2、知道y后怎样判断x是否为整数是一个问题,这个时候我们就要对题目的等式进行化简了,最后当 k*y%(y-k) == 0 就知道x是否为整数了。


因为x是整数,所以k*y%(y-k) == 0。


提交评测
请登录后再操作

题目描述

分数划分
1344
0
08Level4
48
27
56%
证书查询 x
请输入证书编号:

请输入正确的证书编号

学员姓名:孙兴民

课程:Scratch Level 1

发证日期:2019.08.15

证书查询

该证书不存在