📜  TCS 编码练习题 |检查阿姆斯壮数(1)

📅  最后修改于: 2023-12-03 15:20:32.765000             🧑  作者: Mango

TCS 编码练习题 | 检查阿姆斯壮数

简介

本练习题需要你编写一个程序,用于检查一个给定的数是否为阿姆斯壮数。阿姆斯壮数是指一个 $n$ 位数,它的各位数字的 $n$ 次方之和等于该数本身。例如,$153$ 是阿姆斯壮数,因为 $1^3 + 5^3 + 3^3 = 153$。

输入

输入包含一个正整数 $n$,表示要检查的数的位数,接下来一行包含一个 $n$ 位的正整数 $x$,表示要检查的数。

输出

如果 $x$ 是阿姆斯壮数,输出一行 YES,否则输出一行 NO。

示例

输入:

3
153

输出:

YES
代码实现

下面是 Python 代码示例:

n = int(input())
x = int(input())
sum = 0
temp = x
while temp > 0:
    digit = temp % 10
    sum += digit ** n
    temp //= 10
if x == sum:
    print("YES")
else:
    print("NO")

以上代码通过输入 $n$ 和 $x$,计算各个数字的 $n$ 次方之和,判断是否等于 $x$,进而判断 $x$ 是否是阿姆斯壮数。如果是,则输出 YES,否则输出 NO

需要注意的是,在计算各个数字的 $n$ 次方时需要使用 ** 运算符,表示幂运算。在计算过程中,可以使用一个 sum 变量来保存各位数字的 $n$ 次方之和,使用一个 temp 变量来保存输入的数,逐位取出数字进行计算。