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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 上帝的寵兒 中级黑马   /  2015-10-30 12:51  /  1089 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是在面试中常常遇见的一个问题,哪位大神分享一下标准代码??

10 个回复

倒序浏览
是要水仙花数么
  1. /*
  2. 输出所有的水仙花数,所谓水仙花数是指一个3
  3.    位数,其各个位上数字立方和等于其本身。
  4.     例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

  5. */
  6. class For04 {
  7.         public static void main(String[] args)
  8.         {
  9.                 for(int i=100;i<=999;i++){//遍历所有三位数

  10.                         int a =i/100; //百位上的数
  11.                         int b =(i-a*100)/10;//十位上的数
  12.                         int c =i%10;//个位上的数
  13.                         if(i==(a*a*a)+(b*b*b)+(c*c*c)){
  14.                                 System.out.println(i);
  15.                         }


  16.                 }
复制代码


回复 使用道具 举报
楼上的就是我们老师讲课时用的代码
回复 使用道具 举报
  1. class Demo_Flower {
  2.         public static void main(String[] args) {
  3.                 int count = 0;                //定义计数器,存储水仙花的个数
  4.                 for (int i =100; i <= 999; i ++) { //确保其是三位数
  5.                         int ge = i % 10;   //获取个位数字,只需要用10求余
  6.                         int shi = i / 10 % 10;  //获取十位数字,先对其除10,再求余
  7.                         int bai = i / 10 / 10 % 10;  //获取百位数字,相当于int bai = i / 100 & 10;

  8.                         if (ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {  //个位数字三次方,十位数字三次方与百位数字三次方的和等于这个数,就是水仙花数.java目前没有直接求三次方的运算符号,只能这样写
  9.                                 System.out.print(i + "\t");  //打印输出水仙花数
  10.                                 count ++;
  11.                         }
  12.                 }
  13.                 System.out.println("\n水仙花的个数为:" + count);
  14.         }
  15. }
复制代码
回复 使用道具 举报
加油!加油!加油!加油!加油!加油!加油!加油!
回复 使用道具 举报
加油!!!!!!!!!!
回复 使用道具 举报
这个面试应该不会常问吧???
回复 使用道具 举报
这个很普通吧
回复 使用道具 举报
第一天发的种子就有
回复 使用道具 举报
66666666666666666
回复 使用道具 举报
  1. /*
  2.         需求:求出100至999的水仙花数,记录水仙花数的个数并输出。
  3.                 水仙花数:各个位上的数字的立方和等于这个数本身的数。
  4.         思路:在for遍历从100至999,判断是否水仙花数,是的话输出这个数。
  5.                 定义一个函数:输入一个数,返回这个数各个位上的立方和
  6.                 定义一个函数:输入一个数,求出这个数的立方

  7. */

  8. class ShuiXianHuaShu {
  9.         public static void main(String[] args){
  10.                 int count = 0;//计数器
  11.                 for (int i = 100;i <1000 ; i++) {
  12.                         if(i == cubeSum(i)){
  13.                                 count++;
  14.                                 System.out.println(i);
  15.                         }
  16.                 }
  17.                 System.out.println("水仙花数的个数:"+count);
  18.         }
  19.        
  20.         //cube(num)求一个数的立方
  21.         private static int cube(int num){
  22.                 return num*num*num;
  23.         }

  24.         //addSum(num)求一个数各个位上的立方和
  25.         private static int cubeSum(int num){
  26.                 int sum = 0;
  27.                 for (int i =1;i<=3 ;i++ ) {
  28.                         int key = num % 10;
  29.                         sum = sum + cube(key);
  30.                         num = num / 10 ;
  31.                 }
  32.                 return sum;
  33.         }
  34. }
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马