Python检查一个N位数是否是阿姆斯特朗数
在本例中,您将学习检查一个整数n是否是阿姆斯特朗数。
一个正整数如果满足以下条件,则被称为阿姆斯特朗数:
abcd... = a^n + b^n + c^n + d^n + ...
如果阿姆斯特朗数为3位,则每位数的立方数之和等于该数本身。例如:
153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 是一个阿姆斯特朗数
源代码: 检查阿姆斯特朗号码(3位数字)
# Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp > 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
输出1:
Enter a number: 663 663 is not an Armstrong number
输出2:
Enter a number: 407 407 is an Armstrong number
以上代码要求用户输入一个数字,输出给定的数字是否是阿姆斯特朗数。
我们需要计算每个数字的立方和。因此,我们初始化和为0,并获得每个数字的使用模运算符% 。一个数除以10的余数是该数的最后一位数。我们使用指数运算符取多维数据集。
最后,将结果和原数进行比较,如果它们是相等的阿姆斯特朗数。
源代码: 检查n位数是否是阿姆斯特朗数:
num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
您可以在源代码中更改 num 的值,然后再次运行以测试它。
相关文章