鱼C论坛

 找回密码
 立即注册
查看: 10090|回复: 26

题目21:计算10000以下所有相亲数之和

[复制链接]
发表于 2016-9-19 08:30:38 | 显示全部楼层
本帖最后由 jerryxjr1220 于 2016-10-11 23:07 编辑
  1. 31626
  2. [Finished in 0.2s]
复制代码

  1. def y(n):
  2.         lst = [1]
  3.         for i in range(2,int(n**0.5+1)):
  4.                 if n%i == 0:
  5.                         lst.append(i)
  6.                         lst.append(int(n//i))
  7.         return lst

  8. master = [0]*100000
  9. for j in range(1,10001):
  10.         if j == 1:
  11.                 master[j] = 1
  12.         elif j == 2:
  13.                 master[j] = 1
  14.         else:
  15.                 master[j] = sum(y(j))
  16. summ = 0
  17. for k in range(1,10000):
  18.         if k == master[master[k]] and master[k] != k:
  19.                 print master[k], k
  20.                 summ += k
  21. print summ
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-26 04:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表