当前位置: 代码迷 >> 综合 >> 面试算法 - 04
  详细解决方案

面试算法 - 04

热度:28   发布时间:2024-01-19 12:02:50.0
/*** 题目:打印出所有的 "水仙花数 ",* 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。* 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。   1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。  */public void printNarcissusNumber(){for(int nu=100;nu<=999;nu++){int ba = nu/100;int shi = (nu%100)/10;int ge = (nu%100)%10;if(nu == getCube(ge)+getCube(ba)+getCube(shi)){System.out.println(nu);}}}public int getCube(int cu){return cu*cu*cu;}public void printNarcissusNumber2(){for(int nu=100;nu<=999;nu++){int ba = charToInt((nu+"").charAt(0));int shi = charToInt((nu+"").charAt(1));int ge = charToInt((nu+"").charAt(2));if(nu == getCube(ge)+getCube(ba)+getCube(shi)){System.out.println(nu);}}}public int charToInt(char ch){int n = (int)(ch) - (int)('0');return n;}/***  题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,*  60-89分之间的用B表示,60分以下的用C表示。   *  1.程序分析:(a> b)?a:b这是条件运算符的基本例子。   */public void printScoreLevel(int score){int N = score;String level = N>=90?"A":((N>60)?"B":"C");System.out.println(level);}

  相关解决方案