-->
当前位置:首页 > 题库

编程题:N 位自幂数

Luz4年前 (2022-04-26)题库728
N 位自幂数是指一个 N 位数, 它的每一位上的数字的 N 次幂之和等于它本身。我们把三位自幂数称为水仙花数、四位自幂数称为四叶玫瑰数、五位自幂数称为五角星数、六位自幂数称为六合数、七位自幂数称为北斗七星数、八位自幂数称为八仙数、九位自幂数称为九九重阳数、十位自幂数称为十全十美数。

### 输入格式:

在一行中输入一个 3 至 10 位的正整数 N。

### 输出格式:

例如:输入正整数 371,如果 $$3^3 + 7^3 + 1^3 = 371$$,则输出371是水仙花数,否则输出371不是自幂数

### 输入样例1:

in
371


### 输出样例1:

out
371是水仙花数



### 输入样例2:

in
45789


### 输出样例2:

out
45789不是自幂数


### 输入样例3:

in
1741725


### 输出样例3:

out
1741725是北斗七星数






答案:若无答案欢迎评论


string_number = input()
number = int(string_number)
length = len(string_number)
ans = 0
number_name = ('水仙花数', '四叶玫瑰数', '五角星数', '六合数', '北斗七星数', '八仙数', '九九重阳数', '十全十美数')
for n in string_number:
ans += int(n) ** length
if ans == number:
print(f'{number}是{number_name[length-3]}')
else:
print(f'{number}不是自幂数')