Insira um número inteiro n, decomponha n em fatores primos e produza todos os fatores primos em uma linha (elimine a duplicação)

def abc(a):
    p=1
    for i in range(2, int(a ** 0.5) + 1):
        if a % i != 0:
            p= 0
        else:
            p = 1
            break
    if p==0:
        return un

a=[]
un=int(input())
li=[2,3,5,7]
for i in range(11,int(un ** 0.5) + 1):
    tmp=abc(i)
    if tmp!=None:
        li.append(i)
n=0
while un!=1 and n<len(li):
    n=0
    for i in li:
        if un%i==0:
            un=un//i
            a.append(i)
        else:
            n=n+1
if n>=len(li):
    a.append(un)
b=[]
for i in a:
    if i not in b:
        b.append(i)

b.sort()
for i in range(len(b)):
    print(b[i],end=' ')

Sejam todos bem vindos para deixar uma mensagem e trocar!

Acho que você gosta

Origin blog.csdn.net/jiahuiandxuehui/article/details/113621882
Recomendado
Clasificación