键盘输入n,n在2至2000之间,求2至n中的亲密数对。
就是a的(去掉1和自己的)因子和等于b,b的(去掉1和自己)因子和等于a,且a≠b。
如48和75是亲密数对。
48的因子和为2+3+4+6+8+12+16+24=75,
而75的因子和为3+5+15+25=48。
输入
200
输出
48 75
75 48
140 195
195 140
python求亲密数对
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 酷爱码 2023-10-28 17:05关注
import math def factor_sum(n): factors = [1] for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: factors.append(i) factors.append(n // i) return sum(factors) def find_amicable_pairs(n): pairs = [] for a in range(2, n+1): b = factor_sum(a) if a != b and factor_sum(b) == a: pairs.append((a, b)) return pairs n = int(input("请输入一个正整数n(2~2000):")) pairs = find_amicable_pairs(n) for pair in pairs: print(pair[0], pair[1])
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题
- ¥15 winFrom界面无法打开
- ¥30 crossover21 ARM64版本安装软件问题
- ¥15 mymetaobjecthandler没有进入
- ¥15 mmo能不能做客户端怪物