如何判断一个三位数是否为水仙花数
水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
水仙花数是自幂数的一种,在固定进制前提下,一个n位自然数等于该数各个数位上数字的n次幂之和,则称此数为自幂数。
以题为例:设n为一个三位数(且是整数),如果n是水仙花数就输出1,否则就输出0
#include<stdio.h> int main(){ int n; while(scanf("%d",&n)!=EOF){ if(n==0) break; int a=n/100; int b=n/10%10; int c=n%10; if(a*a*a+b*b*b+c*c*c==n) { printf("1\n"); } else { printf("0\n"); } } return 0; }
核心部分在
①a=n/100
②b=n/10%10
③c=n%10
假设n为153
在执行①语句的时候,a被赋值为1(153/100取整数部分结果为1)
执行②语句,b被赋值为5(153/10取整为15,15%10=5)
执行③语句,c被赋值为3(153%10=3)
在得到a,b,c的值之后,判断是否满足水仙花数的条件,输出题目要求内容即可
作者:code_流苏
如有错误,还请多多指正!感谢!