A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.db1;
  2. /**
  3. * 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
  4. * 其各位数字立方和等于该数本身。
  5. * 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。  
  6. * 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位
  7. * @author denny
  8. *
  9. */
  10. public class Demo5 {

  11.         public static void main(String[] args) {
  12.                 for (int i = 100; i < 1000; i++) {
  13.                         if(isLotus(i)){
  14.                                 System.out.println(i+" ");
  15.                         }
  16.                 }
  17.         }

  18.         //判断是不是水仙花数
  19.         public static boolean isLotus(int num){
  20.                 int baiWei=num/100;
  21.                 //System.out.println(baiWei);
  22.                 int shiWei=num/10%10;
  23.                 //System.out.println(shiWei);
  24.                 int geWei=num%10;
  25.                 //System.out.println(geWei);
  26.                 //int sum=baiWei*baiWei*baiWei+shiWei*shiWei*shiWei+geWei*geWei*geWei;
  27.                 int sum=(int) (Math.pow(baiWei, 3)+Math.pow(shiWei, 3)+Math.pow(geWei, 3));
  28.                 if(sum==num){
  29.                         return true;
  30.                 }else{
  31.                 return false;
  32.         }
  33.         }
  34. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马