打印出1~1000所有的”水仙花数”,所谓”水仙花数”是指其各位数字立方和等于该数本身的数
方法一
package cn. com;
public class Demo {
public static void main ( String[ ] args) {
for ( int i = 100 ; i <= 1000 ; i++ ) {
int kilobit = i / 1000 ;
int hundred = ( i - ( kilobit * 1000 ) ) / 100 ;
int decade = ( i - ( kilobit * 1000 ) - ( hundred * 100 ) ) / 10 ;
int basic = i - ( kilobit * 1000 ) - ( hundred * 100 ) - ( decade * 10 ) ;
if ( ( ( kilobit * kilobit * kilobit) + ( hundred * hundred * hundred) + ( decade * decade * decade) + ( basic * basic * basic) ) == i) {
System. out. println ( "水仙花数:" + i) ;
}
}
}
}
方法二
package cn. com;
public class Demo {
public static void main ( String[ ] args) {
int number = 100 ;
while ( number <= 1000 ) {
int kilobit = number / 1000 ;
int hundred = ( number / 100 ) % 10 ;
int decade = ( number / 10 ) % 10 ;
int basic = number % 10 ;
int sum = ( kilobit * kilobit * kilobit) + ( hundred * hundred * hundred) + ( decade * decade * decade) + ( basic * basic * basic) ;
if ( number == sum) {
System. out. println ( sum) ;
}
number++ ;
}
}
}