首页 > 技术文章 > 水仙花数的计算

plas 2018-10-31 15:29 原文

public class Test3 {
/*题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,
* 其各位数字立方和等于该数本身。
* 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。*/
public static void main(String[] args) {
//根据题意得出判断条件x*x*x+y*y*y+z*z*y=xyz;
//获取范围
Scanner s = new Scanner(System.in);
int number = s.nextInt();
//定义水仙花数的总数
int sum=0;
//定义三位数的每一位数字
int x=0,y=0,z=0;
//遍历数据范围
for (int i = 101; i < number; i++) {
//一直为三位数
//获取每一位的数字
x=i/100;
y=(i%100)/10;
z=i%10;
//判断是否符合条件符合就输出和总数加1
if ((x*x*x+y*y*y+z*z*z)==i) {
System.out.println(i);
sum++;
}

}
System.out.println(sum);

}

 

 

注:没有什么说的,只是简单的判别和取余的应用!

推荐阅读