(找出一个整数的所有因子) 编写程序读取一个整数,然后显示它所有的最小因子,也称为素因子
# 判断素数
def isprime(num):
for i in range(2,num):
if num % i == 0:
return False # 不是素数
else:
return True # 是素数
# 得到所有因子
def get_factor(num):
return [x for x in range(1,num) if num % x == 0]
def primefactor(num):
# 若输入的数是质数,则为1和本身
if isprime(num):
return [1,num]
factors = get_factor(num)
List = []
result = num
# 判断每个约数是否为素数
for i in range(1,len(factors)):
if result == 1:
break
while True:
if result % factors[i] != 0:
break
if isprime(factors[i]):
result /= factors[i]
List.append(factors[i])
else:
List.append(factors[i])
break
return List
if __name__ == '__main__':
s = primefactor(num=int(input("请输入一个数:")))
print(s)
必先失去,才知珍惜