比赛场次 | 41 |
---|---|
比赛名称 | 练习赛01 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2009-09-04 18:50:09 |
结束时间 | 2009-09-04 22:00:09 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 亲和数 |
---|---|
输入输出 | amicable.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
cqw | AAAAAAAAAA | 2.163 s | 0.19 MiB | 100 |
.Xmz | AAAAAAATTE | 0.000 s | 0.00 MiB | 70 |
reamb | WAWWWTATTE | 0.000 s | 0.00 MiB | 20 |
Achilles | ATATTTTTTE | 0.000 s | 0.00 MiB | 20 |
亲和数 ( Amicable Number )
【问题描述】
某一天, tenshi 看了一本趣味数学书,上面提到了亲和数:定义数对 (x,y) 为亲和数对当且仅当 x 、 y 为不同正整数,且 x 、 y 各自的所有非自身正因子之和等于另一个数。例如 (220,284) 和 (280,224) 都是亲和数对,因为:
220 的所有非自身正因子之和为: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284
284 的所有非自身正因子之和为: 1 + 2 + 4 + 71 + 142 = 220
数对 (x,y ) 跟 (y,x) 被认为是同一数对,所以我们只考虑 x<y 的情况。
任 务 : tenshi 对某个范围内的亲和数对的数量非常感兴趣,所以希望你能帮她编写一个程序计算给定范围内的亲和数对的数量。给定一个范围 A 到 B , 如果 A ≤ x ≤ B ,则我们称 (x,y) 在范围 [A,B] 内。
【输入格式】
从文件的第一行分别读入正整数 A 和 B ,其中 A 、 B 满足
1 ≤ A ≤ B ≤ 10^8 且 B-A ≤ 10^5
【输出格式】
输出文件只有一行,就是 [A,B] 内亲和数对的数量
【输入输出样例】
输入:
amicable.in
200 1200
输出:
amicable.out
2
注: [200,1200] 内的数对只有两个,分别是 (220,284) 和 (1184 1210)