水仙花数
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。-
输入
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
-
如果n是水仙花数就输出Yes
否则输出No
样例输入
-
153 154 0
样例输出
-
Yes No
来源
- C语言课本习题改编 上传者
- #include<stdio.h>
int main () {
int shuixianhua ( int n ) ;
int n ;
shuixianhua ( n ) ;
return 0 ;
}
int shuixianhua ( int n ) {
while ( ( scanf( "%d" , & n ) ) != 0 ) {
//输入0表示程序输入结束
//测试数据整数n(100<=n<1000)
if ( n < 100 || n >= 1000 ) return -1 ;
int a = n % 10 ;//个位
int c = n / 100 ;//十位
int b = n / 10 - c * 10 ;//百位
if( n == a * a * a + b * b * b + c * c * c )
printf ( "Yes\n" ) ;
//水仙花数定义各个位数立方和等于它本身的三位数
else printf ( "No\n" ) ;
}
return 0 ;
}
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)