如何判断一个三位数是否为水仙花数

简介: 如何判断一个三位数是否为水仙花数

如何判断一个三位数是否为水仙花数

水仙花数:水仙花数是指一个 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_流苏
如有错误,还请多多指正!感谢!


目录
相关文章
|
4月前
水仙花数
水仙花数.
41 2
|
4月前
|
C++
水仙花数.
这是一个关于求解水仙花数的C++代码片段。水仙花数是指3位数,其各位数字立方和等于该数本身,如153。代码通过循环遍历100到999,拆分每位数字并计算立方和,如果满足条件则输出该数。解题关键在于对三位数的个位、十位、百位进行拆分和立方运算。
37 0
求1000以内所有的水仙花数
求1000以内所有的水仙花数
打印0~1000的水仙花数
打印0~1000的水仙花数
50 0
wustojc4001判断水仙花数
wustojc4001判断水仙花数
47 0
打印水仙花数
打印水仙花数
65 0
遇7避过(输出1~100内的安全数,安全数不能带有7,不能被7整除
遇7避过(输出1~100内的安全数,安全数不能带有7,不能被7整除
56 0
|
算法
求水仙花数
求水仙花数
67 0
找出水仙花数
找出水仙花数
70 0
|
算法
判断一个数是否能被3或5整除
判断一个数是否能被3或5整除
140 0