(Python)
从itertools导入链,组合
定义功率集(可迭代):
…s=列表(可迭代)
…返回链.from_iterable(范围(len(s)+1)中r的组合(s,r))
打印(“开始”)
a_n=0
对于范围(11000)内的num:
…div_set=设置((-1,1))
…a_n=0
…对于范围(1,num+1)中的除数:
……如果(num%除数==0):
………div_set.add(除数)
…………div_set.add(除数*(-1))
…pow_set=设置(功率设置(div_set))
…num_set=长度(pow_set)
…对于范围(0,num_set)内的count_set:
……子集=集合(pow_set.pop())
……num_subset=len(子集)
……触头=1
……如果num_subset<1:
…………prod=0
……对于范围(0,num_subset)中的count_subset:
………prod=prod*subset.pop()
……如果触头!=0:
………如果(num%prod==0):
…………a_n=a_n+1
…打印(num,a_n)
打印(“结束”)
|