python质因数分解:输出一个整数的质因数和该质因数的指数

python 实现一个数的质因数分解

输出一个整数的质因数和该质因数的指数

shu = int(input())
#我们先编一个判断一个数是否是质数的函数
def isprime(n):    
    judge = False    
    for i in range(2,n):        
        if n%i == 0:            
            break        
        else:            
            judge = True    
    return judge
#再来编一个判断n1是否是n2因数的函数
def isfactor(n1,n2):    
    judge = False    
    if n2%n1 == 0:        
        judge = True        
    return judge
#现在找出比那个数小的所有质数,放到列表
lists = [2]
for i in range(1,shu+1):    
    if isprime(i):
        lists.append(i)
#找出质因数
lists1 = []
for x in lists:    
    if isfactor(x,shu):
        lists1.append(x)
#找出质因数的次数
lists2 = []
for i in lists1:
    n = 0
    while shu%i == 0:
        shu = shu/i        
        n += 1
    lists2.append(n)
print(lists2)
#按格式输出
for i in range(len(lists1)):
    print(lists1[i],':',lists2[i])

ps有更好更简洁的方法可以在评论区分享鸭!!!!
欢迎指正!!!

你可能感兴趣的:(python质因数分解:输出一个整数的质因数和该质因数的指数)