java实现获取所有的水仙花数
代码:
package com.liangrui;
/**
* 功能描述: 获取所有的水仙花数
* 水仙花数:
* 指的是一个三位数,个位、十位、百位的数字立方和等于原数
* 例如 153 3*3*3 + 5*5*5 + 1*1*1 = 153
* @Author 良睿
* @Datetime 2021/3/12 16:12
*/
public class ForTest {
public static void main(String[] args) {
//水仙花总个数
int count=0;
//对100-1000进行for循环遍历
for (int i=100;i<1000;i++){
//取出个位数
int singleDigit=i%10;
//取出十位数
int tensDigit=i/10%10;
//取出百位数
int hundredsDigit=i/10/10%10;
//判断是不是水仙花数
if (singleDigit*singleDigit*singleDigit+tensDigit*tensDigit*tensDigit+hundredsDigit*hundredsDigit*hundredsDigit==i){
System.out.println(i+"是水仙花数!");
count++;
}
}
//输出水仙花个数
System.out.println("一共有"+count+"个水仙花数!");
}
}
输出日志
153是水仙花数!
370是水仙花数!
371是水仙花数!
407是水仙花数!
一共有4个水仙花数!