整数nを入力し、nを素因数に分解し、すべての素因数を1行で出力します(重複を排除します)

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=' ')

メッセージを残して交換する皆さんを歓迎します!

おすすめ

転載: blog.csdn.net/jiahuiandxuehui/article/details/113621882