Python 程序检查数字是否为 Disarium 数字

编写一个 Python 程序,使用 while 循环检查一个数字是否为 Disarium 数字。如果给定数字的各位数字的幂之和等于该数字本身,则该数字是 Disarium 数字。例如,175 = 1^1 + 7^2 + 5^3 = 1 + 49 + 125 = 175。

在此 Python 程序中,我们将数字分解为单独的数字并计算总和。接下来,if 语句检查总和是否等于实际数字。如果为 True,则它是 Disarium 数字。

Number = int(input("Enter the Number to Check Disarium Number = "))
length = len(str(Number))

Temp = Number
Sum = 0
rem = 0

while Temp > 0:
    rem = Temp % 10
    Sum = Sum + int(rem**length)
    Temp = Temp // 10
    length = length - 1

print("The Sum of the Digits = %d" %Sum)

if Sum == Number:
    print("\n%d is a Disarium Number." %Number)
else:
    print("%d is Not a Disarium Number." %Number)
Python Program to Check a Number is a Disarium Number

在此 Python 示例 中,我们使用 digitsCount 和 digitsSum 来检查数字是否为 Disarium 数字。

import math

def digitsCount(Number):
    length = 0
    while Number != 0:
        length = length + 1
        Number = Number // 10
    return length

def digitsSum(Number, length):
    Sum = 0
    rem = 0

    while Number > 0:
        rem = Number % 10
        Sum = Sum + math.pow(rem, length)
        Number = Number // 10
        length = length - 1
    return Sum


Number = int(input("Enter the Number to Check Disarium Number = "))
length = digitsCount(Number)
Sum = digitsSum(Number, length)

print("The Sum of the Digits     = %d" %Sum)

if Sum == Number:
    print("%d is a Disarium Number." %Number)
else:
    print("%d is Not a Disarium Number." %Number)
Enter the Number to Check Disarium Number = 175
The Sum of the Digits     = 175
175 is a Disarium Number.

Enter the Number to Check Disarium Number = 24
The Sum of the Digits     = 18
24 is Not a Disarium Number.

使用递归检查数字是否为 Disarium 数字的 Python 程序。

import math

length = 0
Sum = 0

def digitsCount(Number):
    global length
    if Number > 0:
        length = length + 1
        digitsCount(Number // 10)
    return length

def digitsSum(Number, length):
    global Sum
    if Number > 0:
        rem = Number % 10
        Sum = Sum + math.pow(rem, length)
        digitsSum(Number // 10, length = length - 1)
    return Sum


Number = int(input("Enter the Number to Check Disarium Number = "))
length = digitsCount(Number)
Sum = digitsSum(Number, length)

print("The Sum of the Digits     = %d" %Sum)

if Sum == Number:
    print("\n%d is a Disarium Number." %Number)
else:
    print("%d is Not a Disarium Number." %Number)
Enter the Number to Check Disarium Number = 98
The Sum of the Digits     = 73
98 is Not a Disarium Number.

Enter the Number to Check Disarium Number = 135
The Sum of the Digits     = 135

135 is a Disarium Number.