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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© momoxixi 中级黑马   /  2015-10-29 11:53  /  244 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想到了两种 还有别的嘛
  1.                 int a,b,c,sum ;
  2.                 StringBuilder sb = new StringBuilder();
  3.                 for (int i =100;i<1000;i++){
  4.                         sb.append(i);
  5.                         a = sb.charAt(0)-48;
  6.                         b = sb.charAt(1)-48;
  7.                         c = sb.charAt(2)-48;
  8.                         sum = a*a*a+b*b*b+c*c*c;
  9.                         if(sum == i){
  10.                                 System.out.println(i);
  11.                         }
  12.                         sb.delete(0,sb.length());

  13.                 }
复制代码


第二种是用求余法
  1. int a,b,c,count=0;
  2.                 for(int i =100;i<1000;i++){
  3.                         a = i % 10;
  4.                         b = i/10 %10;
  5.                         c = i/100 %10;
  6.                         if (i == a*a*a+b*b*b+c*c*c){
  7.                                 System.out.println(i);
  8.                                 count++;
  9.                         }

  10.                 }
  11.                 System.out.println("count is "+count);
复制代码


1 个回复

正序浏览
思路都差不多吧 都是求各个位上的数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马