LtiMo
2021-05-28 10:22
采纳率: 100%
浏览 62

求100到999之间的 3位 水仙花数?

刚入坑编程,请大佬帮忙解析一下水仙花数。

public class Narcissus {
    public static void main(String[] args) {
      
        }
    }
}
 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 答题大神 2021-05-28 10:45
    已采纳
    package Studytest;
    
    public class Prog3 {
        public static void main(String [] args)
        {
            for(int i=100;i<1000;i++)
            {
                if(isLotus(i))
                {
                    System.out.print(i+" ");
                }
            }
        }
        //判断水鲜花数
        private static boolean isLotus(int lotus)
        {
            int bai=0;
            int shi=0;
            int ge=0;
            int sum=0;
            int n=0;
            n=lotus;
            bai=n/100;
            sum=bai*bai*bai;
            n=n-(bai*100);
            shi=n/10;
            sum+=(shi*shi*shi);
            ge=n-(shi*10);
            sum+=(ge*ge*ge);
             if(lotus==sum)
             {
                 return true;
             }else {
                 return false;
             }
        }
    }

    代码如上,万望采纳。

     

    点赞 1 打赏 评论
  • 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

    public class NarcissusNum {
    	public static void main(String[] args) {
    		for(int a=100;a<=999;a++){
    			 int gw=a%10;//个位数取余
    			 int sw=a/10%10;//十位数取余
    			 int bw=a/100%10;//百位数取余
    			 int gg=gw*gw*gw;//个位求幂
    			 int ss=sw*sw*sw;//十位求幂
    			 int bb=bw*bw*bw;//百位求幂
    			 int aa=gg+ss+bb;//最后的幂之和
    			 if(aa==a) {
    				 System.out.println("100-999之间的水仙花数为:"+a);
    			 }
    		  }
    		}
    }
    
    点赞 1 打赏 评论
  • CSDN专家-Fay 2021-05-28 10:23
    public static void main(String[] args) {
    		
    		System.out.println("100~999之间的水仙花数:");
    		for (int i = 100; i < 999; i++) {
    			int unit = i % 10;
    			int ten = i / 10 % 10;
    			int hundred = i / 100;
    			if (unit * unit * unit + ten * ten * ten + hundred * hundred * hundred == i) {
    				System.out.println("\n水仙花数:" + i);
    			}
    		}
    
    	}
    点赞 1 打赏 评论
  • CSDN专家-微编程 2021-05-28 10:38
    public class ShuiXianHua {
        public static void main(String[] args){
            
            for(int i = 1; i < 1000; i++){
                int a = i / 100;//取得百位数
                int b = (i - (j1 * 100)) / 10;//取得十位数
                int c = (i - (j1 * 100 + j2 *10));//取得个位数
                if(a * a * a + b * b * b + c * c *c == i){
                    System.out.println(i + "这是一个水仙花数");
                }
            }
        }
    }
    

     如有帮助请点击一下采纳,谢谢!

    点赞 1 打赏 评论
  • 有问必答小助手 2021-05-28 14:14

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论

相关推荐 更多相似问题