Python 題目

PROBLEM

Python Day 3

#python #程式碼

def numbers():
    number = input()
    ans = [0,0]
    temp2 = []
    for i in range(len(number)):
        ans[0] += int(number[i])
    for i in range(2,int(number)):
        if int(number)%i == 0:
            temp2.append(i)
    if len(temp2) == 0:
        return 0
    else:
        number1 = []
        for i in temp2:
            while int(number)%i == 0:
                if int(number)%i == 0:
                    number1.append(i)
                    number = int(number)//i
    for i in range(len(number1)):
        temp3 = [int(i) for i in str(number1[i])]
        for j in range(len(temp3)):
            ans[1] += temp3[j]
    if ans[0] == ans[1]:
        return 1
    return 0
print(numbers())

簡化後:

def numbers():
    number = input()
    temp2 = []
    first_sum = [int(i) for i in number]
    number = int(number)
    for i in range(2,number):
        while number % i == 0:
            temp2.append(i)
            number //= i
    if not temp2:
        return 0
 
    factors = 0
    for i in range(len(temp2)):
        temp3 = [int(i) for i in str(temp2[i])]
        factors += sum(temp3)

    if first_sum[0] == factors:
        return 1
    return 0
print(numbers())