__author__ = 'zhouhai'
#将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
def change(number):
middle_num = number // 2
for i in range(2,middle_num+1):
if number%i == 0:
return i
return number
if __name__ == '__main__':
number = input("请输入一个正整数")
print("您输入的是:"+str(number))
while( number.isdigit() == False):
number = input("请输入一个正整数")
print("您输入的是:"+str(number))
# 所有质数列表
all_prime = []
number_int = int(number)
prime = change(number_int)
#如果本来自身就是质数,那直接返回
if prime == int(number):
print("分解质因数结果:%s=%s*1"%(number,number))
else:
#如果不是质数,那分解出来的第一个质数就加入列表
all_prime.append(prime)
#temp就是原来的数除质数
temp = int(number_int/prime)
#继续分解质数
prime = change(temp)
while(temp != prime):
all_prime.append(prime)
temp = int(temp/prime)
prime = change(temp)
all_prime.append(prime)
#处理展示逻辑 展示形式:8=2*2*2
result = ""
count = 0
for i in all_prime:
if count == 0:
result = result + str(i)
else:
result = result + "*" + str(i)
count =+1
print("分解结果: %s="%(number)+result)
#将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
def change(number):
middle_num = number // 2
for i in range(2,middle_num+1):
if number%i == 0:
return i
return number
if __name__ == '__main__':
number = input("请输入一个正整数")
print("您输入的是:"+str(number))
while( number.isdigit() == False):
number = input("请输入一个正整数")
print("您输入的是:"+str(number))
# 所有质数列表
all_prime = []
number_int = int(number)
prime = change(number_int)
#如果本来自身就是质数,那直接返回
if prime == int(number):
print("分解质因数结果:%s=%s*1"%(number,number))
else:
#如果不是质数,那分解出来的第一个质数就加入列表
all_prime.append(prime)
#temp就是原来的数除质数
temp = int(number_int/prime)
#继续分解质数
prime = change(temp)
while(temp != prime):
all_prime.append(prime)
temp = int(temp/prime)
prime = change(temp)
all_prime.append(prime)
#处理展示逻辑 展示形式:8=2*2*2
result = ""
count = 0
for i in all_prime:
if count == 0:
result = result + str(i)
else:
result = result + "*" + str(i)
count =+1
print("分解结果: %s="%(number)+result)