问题分析:因数都是成对出现的,若想要有奇数个因子,必须有其中的两个因子相同,所以,只能是平方数(1,4,9,16......)
代码实现:
获取数字的所有因子
for n in range(1,101,1):
a=[]
for i in range(1,n+1):
if(n%i==0):
a.append(i)
判断因子数是否为奇数:
b=len(a)
if b%2!=0:
c=[]
c.append(n)
print('个数为%d'%len(c))
最后整理输出结果
q=max(c)
print("最大为{}".format(q))
完整代码
for n in range(1,101,1):
a=[]
for i in range(1,n+1):
if(n%i==0):
a.append(i)
b=len(a)
if b%2!=0:
c=[]
c.append(n)
print('个数为%d'%len(c))
q=max(c)
print("最大为{}".format(q))