如何查找水仙花数
什么是水仙花数
水仙花数是一种特定的数学概念,指的是满足特定规律的数字序列。具体来说,水仙花数是指一个N位数的整数,其各位数字的N方和等于该数本身。例如,数字153就是一个水仙花数,因为1*1*1+5*5*5+3*3*3 = 153。
编程思路
设有一个整数x为153,想要知道x是不是水仙花数,首先要确认x是几位数,后面才求N方的和,第二步是依次求个位、十位、百位…的值,最后才能求和。
- 我们怎么来求x的位数呢?很简单,利用循环实现。
//xTemp 临时变量,用来存储x
//count 用来存储整数x的位数
int xTemp = x;
int count = 0; //
while(xTemp > 0){
xTemp = xTemp/10;
count++;
}
System.out.println(count);
控制台输出 : 3
- 依次求x的个位、十位、百位
int xTemp = x;
while(xTemp>0){
int num = xTemp%10;
xTemp = xTemp/10;
System.out.println(num);
}
控制台输出 :
3
5
1
- 各位数字的N方求和
int xTemp = x;
int sum =