质数又称为素数,要解决这个问题,我们首先要对输入的数字进行判断,判断其本身是否为素数。
如果为素数则其因式只有1与其本身。
def f3(n):#判断一个数字是否为素数
list1=[]#创建空列表用以盛放元素
for i in range(2,n):#对范围(2,n-1)依次取余
if n%i==0:#这时代表n并非是个素数
list1.append(i)
if len(list1) == 0:
return True
else:
return False
创建好这个函数之后,我们开始整体代码的编写
def f3(n):#判断一个数字是否为素数
list1=[]
for i in range(2,n):
if n%i==0:
list1.append(i)
if len(list1) == 0:
return True
else:
return False
def fundation(n):#定义主要函数
l1 = []
k=n
if f3(n):#如果n是素数直接输出结果
print('{}=={}*1'.format(n, n))
else:#n如果不是素数进行后续处理
while True:#无限进行循环对n进行处理
for i in range(2,k):#k==n,即判断他除了1外的其他因子
if n%i==0 and f3(i):#条件使i为n的一个因子,且是一个素数
l1.append(i)#将i添加进空列表备用
n=n//i#条件符合对n的值进行修改
if f3(n):
l1.append(n)
break#处理至也为素数时跳出循环体,并将n添加进列表
for j in range(len(l1)):
print('{}*'.format(l1[0]),end='')
l1.pop(0)#保证每次打印不同的元素
else:
print('1',end='')
return ''#防止返回空值
n=int(input('输入一个数字:'))
print('{1}={0}'.format(n,fundation(n)))
这样就实现了我们的目的,谢谢大家的阅览