题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
import java.util.Scanner; public class Shuixianhua { public static void main(String[] args){ // System.out.println("请输入一个三位数:"); // Scanner sc=new Scanner(System.in); // int num=sc.nextInt(); for(int i=100;i<=999;i++){ boolean flag=false; int a=i/100; int b=i%100/10; int c=i%100%10; double result=Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3); if(i==result){ flag=true; }else{ flag=false; } if(flag==true){ System.out.println(i+"是水仙花数"); } } } }