Java基礎--取任意一個整數的各個位的數值


整體思路:循環拿這個數對10取余,再除以10,判斷是不是0

while (num > 0) {
    int v = num%10;
    num /= 10;
}

  案例:

* 需求:在控制台輸出所有的”水仙花數”

* 所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。
* 舉例:153就是一個水仙花數。
* 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

 

	public static void main(String[] args) {
		int countAll = 0;
		// 水仙花數
		for(int i=100; i<1000; i++) {
			int num = i;	//數值
			int result = 0;	//各個位三次方相加后的數值
			while (num > 0) {
				int v = num%10;
				result += v*v*v;
				num /= 10;
			}
			if (result == i) {
				countAll ++;
				System.out.println("第"+countAll+"個水仙花數為:"+result);
			}
		}
	}

  //結果:

//第1個水仙花數為:153
//第2個水仙花數為:370
//第3個水仙花數為:371
//第4個水仙花數為:407


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM