水仙花数(java版)
一、水仙花数概念
- 所谓的“水仙花数”是指一个
三位数
其各位数字的立方和等于该数本身.
如:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
2.153就等于1的立方加上5的立方加上3的立方,1,5, 3立方
同理 370也是:3的立方加上7的立方加上0的立方。。。
注:他只有3位数
二、代码
代码如下(示例):
package com.dsj10.shuixianhuashu;
/// 水仙花数:一个三位数,其各位数字立方和等于该数本身。 是3位不是4位
//例如:153=1^3 + 5^3 + 3^3。就说明153是一个水仙花数;
public class ShuiXianHuaShu {
public static void main(String[] args) {
for (int i=100;i<1000;i++){
int a = i%10; //个位数 153 3
int b = i%100/10; //十位数 153 5
int c = i/100; //百位数 153 1
if(a*a*a+b*b*b+c*c*c == i){
System.out.println(i);
}}
}
}
2.代码解析
(1)for (int i=100;i<1000;i++){ }
因为水仙花数只有3位数,所以i大于100,小于1000
(2) int a = i%10; //个位数 153 3
个位为3,153%10,取余数就等于3
(3)int b = i%100/10; //十位数 153 5
十位数为5,153%100余数等于53,再53/10就等于5.3,会自动取整。注:没有四舍五入法
(3) int c = i/100; //百位数 153 1
百位数为1,同理153/100,等于1.53.取整就为1