java面试每日一题8

旧城冷巷雨未停 提交于 2020-04-03 07:17:16

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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+"是水仙花数");
            }
        }
                
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!