用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) 我这个除了没考虑平方根因子的问题还有别的问题么
人见人爱A+B (C语言代码)浏览:664 |
大小写转换 (C语言代码)浏览:904 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:691 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:683 |
C二级辅导-统计字符 (C语言代码)浏览:514 |
DNA (C语言代码)浏览:837 |
GC的苦恼 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:606 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:529 |
简单的a+b (C语言代码)浏览:667 |