水仙花数
时间限制:1000 ms | 内存限制:65535 KB
难度:0
- 描述
- 请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。- 输入
- 有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。 - 输出
- 如果n是水仙花数就输出Yes
否则输出No - 样例输入
-
153 154 0
- 样例输出
-
Yes No
- 来源
- C语言课本习题改编
- 上传者
01.
#include<stdio.h>
02.
int
main()
03.
{
04.
05.
while
(1)
06.
{
07.
int
a[3],n,N;
08.
scanf
(
"%d"
,&n);
09.
if
(n==0)
10.
{
11.
break
;
12.
}
13.
N=n;
14.
for
(
int
i=0;i<3;i++)
15.
{
16.
a[i]=n%10;
17.
n=n/10;
18.
}
19.
n=a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2];
20.
if
(n==N)
21.
printf
(
"Yes "
);
22.
else
23.
printf
(
"No "
);
24.
}
25.
return
0;
26.
}