面试题4,打印出100-999所有的“水仙花数”。
生活随笔
收集整理的這篇文章主要介紹了
面试题4,打印出100-999所有的“水仙花数”。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
提示:水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等于它本身。
(例如:1^3 + 5^3+ 3^3 = 153)
package 面試;/*** 水仙花數* @author liugang* @create 2018/12/19 20:07**/ public class Shuixianhua {public static void main(String[] args) {int a,b,c;for(int i=100;i<999;i++){a = i%10;b = (i/10)%10;c = i/100;if (a*a*a+b*b*b+c*c*c==i){System.out.println("水仙花數:"+i);}}// int i = 137; // System.out.println(137%10); }}怎么求個位數和十位數和百位數呢
a = Integer.parseInt(String.valueOf(i).substring(0,1));b = Integer.parseInt(String.valueOf(i).substring(1,2));;c = i%100;我之前是這樣弄,但發現只打印了407,取的有問題
c取的問題,個位數的值,應該是i%10這樣取
int i=137; //取個位數 7 = 137-130;130是可以被10整除的,所以可以這樣取 int c = i%10; //取十位數 37 = 137-100;直接是先除10,降到兩位數,然后再除10取模 int b = (i/10)%10; //取百位數 直接除100就ok了; int a = i/100;?
轉載于:https://www.cnblogs.com/fuckingPangzi/p/10145852.html
總結
以上是生活随笔為你收集整理的面试题4,打印出100-999所有的“水仙花数”。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySql - GROUP BY 和 H
- 下一篇: 查看串口的驱动信息