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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 北海北 中级黑马   /  2017-2-28 07:24  /  1351 人查看  /  7 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

【程序3】   
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public class lianxi03 {
public static void main(String[] args) {
     int b1, b2, b3;
     for(int m=101; m<1000; m++) {
      b3 = m / 100;
      b2 = m % 100 / 10;
      b1 = m %    10;
      if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {
      System.out.println(m+"是一
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

7 个回复

正序浏览

依次求出个十百位上的数,每位数字的三次方的和等于该数本身,就是水仙花数
回复 使用道具 举报
易大帅 发表于 2017-2-28 08:24
能说出原理吗

你楼下说的原理很详细了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
lvshen9 发表于 2017-2-28 08:53
请问m的范围是怎么确定的

水仙花数是个3位数,所以在100-1000之间,所以循环之间的数就可以了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
请问m的范围是怎么确定的
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
话说,还没开班,理解不深
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这不就是简单的for循环吗?最小的三位数是100最大的是999从两者之间取值,模于100取百位,取余100模10取十位,取余10求个位
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马