Java水仙花数字详解

207 阅读1分钟

水仙花数字:一个三位数 百位的3次方+十位的3次方+各位的3次方=这个数本身 就称这个数为水仙花数 例如153 =1的三次方+5的三次方+3的三次方
153 1可以用153/10来表示 5可以用153%100/10来表示 3可以用153%10来表示

我们可以先设置3个变量来分别表示百位数、十位数、和个位数 下面使用a、b、c来分别表示百十个位数 下面来计算100-999之间有多少个水仙花数字 '

 package ray;
   public class ray08 {
     public static void main(String[] args) {
	int count=0;//设置计数器 起始为0 记录个数
	for(int i=100;i<=999;i++) { // 计算100-999有多少个水仙花数  这里的i表示一个三位数
		int a=i/100;//用a来表示三位数i的百位数
		int b=i%100/10;//用b来表示三位数i的十位数
		int c=i%10;//用c来表示三位数i的个位数
		
		if(i==a*a*a+b*b*b+c*c*c){  //表示此时的i是水仙花数字 
			count++;
			if(count<=2) {      //这里输出100-999中前两个水仙花数
				System.out.println("第"+count+"个:"+i);
			}
		}
	}
	System.out.println("100-999中共有"+count+"个水仙花数");
}

} `