很容易看出形式为1 / k的每个分数(k> 0),我们总能找到两个正整数x和y,x≥y,这样:
。现在我们的问题是:你能编写一个程序来计算这里对于给定的看k,有多少这样的x和y?
输入包含不超过100行,每行给出k(1<=k<=100000)
题目就知道要枚举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。
请输入正确的证书编号
学员姓名:孙兴民
课程:Scratch Level 1
发证日期:2019.08.15