练习3

来源:互联网 发布:dm软件 编辑:程序博客网 时间:2024/05/17 20:41

题目:打印出所有水仙花数,所谓水仙花数是之一个三位数,其各位数字的立方和等于该数本身,例如153=1^3+5^3+3^3,所以153是一个水仙花数。

分析:将给定数字的个位十位百位分解出来,分别取立方求和,然后与原数比较,大小相等即为水仙花数。

代码:
public class Practice3 {public static void main(String[] args){int g = 0;  //定义个位数int s = 0;  //定义十位数int b = 0;  //定义百位数System.out.print("水仙花数有:");for(int i = 100; i <= 999; i++){b = i / 100;  //i的百位数是i除100的结果s = i % 100 /10;  //i的十位数是i除以100的余数除以10的结果g = i % 10;  //i的个位数是i除以10的余数if(i == (b * b *b + s * s * s + g * g * g)){  //每个位的立方和等于原数,则i为水仙花数System.out.print(i + " ");  //输出i}}}}

结果: