用set()把列表变成集合就可解决重复平方根问题 from math import sqrt n=int(input()) for i in range(2,n): l=[1] a = 1 for j in range(2,int(sqrt(i))+1): if a>i: break else: if i%j==0: l.append(j) l.append(int(i/j)) a=a+j+int(i/j) if a==i: print(i,'its factors are',' '.join(str(k) for k in sorted(set(l))))
n=int(input()) for i in range(1,n+1): n=0 a=[] for j in range(1,i): if i%j==0: n+=j a.append(str(j)) if i==n: b=' '.join(a) print(i,'its factors are %s' % b) 我这个除了没考虑平方根因子的问题还有别的问题么
矩形面积交 (Java代码)浏览:1233 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:635 |
最小公倍数 (C语言代码)浏览:1039 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:506 |
核桃的数量 (C语言代码)浏览:875 |
图形输出 (C语言代码)浏览:960 |
整除问题 (C语言代码)浏览:536 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:777 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:496 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:448 |