zoukankan      html  css  js  c++  java
  • 水仙花数

    水仙花数

    题目描述:

    春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
    “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
    现在要求输出所有在m和n范围内的水仙花数。

    输入

    输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

    输出

    对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
    如果给定的范围内不存在水仙花数,则输出no;
    每个测试实例的输出占一行。

    样例输入

    100 120
    300 380

    样例输出

    no
    370 371

    import java.util.*;
    public class Main
    {
        public static void main(String[] args)
        {
            Scanner sc = new Scanner(System.in);
            int m = sc.nextInt();
            int n = sc.nextInt();
            
            List<Integer> myList = new ArrayList<Integer>();
            
            for(int i = m; i <= n; i++)
            {
                boolean isNar = isNarcissusNumber(i);
                if(isNar)
                    myList.add(i);
            }
            
            if(myList.isEmpty())
                System.out.print("no");
            
            for(int i = 0; i < myList.size(); i++)
            {
                if(i == myList.size()-1)
                    System.out.println(myList.get(i));
                else
                    System.out.println(myList.get(i) + " ");
            }
    
        }
        public static boolean isNarcissusNumber(int k)
        {
            String s = k + "";
            int sum = 0;
            for(int i = 0; i < s.length(); i++)
            {
                sum += Math.pow(s.charAt(i) - '0',3);
            }
            if(sum == k)
                return true;
            return false;
        }
    }
  • 相关阅读:
    linux初始密码Mysql
    lamp整个打包
    模拟小球碰撞后返回
    Linux图形界面卡死
    非模态对话框
    菜单
    键盘消息简单示例
    菜单练习
    模态对话框练习
    阶段知识整合(画笔,画刷,字体)
  • 原文地址:https://www.cnblogs.com/limeina/p/6694374.html
Copyright © 2011-2022 走看看