หาเลขตั้งแต่ 0000-9999 ว่าเลขตัวไหนที่ยกกำลัง 4 แล้วได้เลขตัวเดิม

หาเลขตั้งแต่ 0000-9999 ว่าเลขตัวไหนที่ยกกำลัง 4 แล้วได้เลขตัวเดิม

จากโจทย์ จงเขียนโปรแกรมเพื่อหาตัวเลขตั้งแต่ 0000-9999 ว่ามีตัวเลขใดที่นำตัวเลขแต่ละหลักมายกกำลัง 4 แล้วหาผลรวมจะทำให้ผลลัพธ์เท่ากับเลขตัวเดิม ตัวอย่างเช่น ตัวเลข 1634 เมื่อนำ (14 + 64 + 34 + 44 = 1634) พร้อมแสดงผลการทำงานที่ได้

ตัวอย่างโค้ด

 public class CodeFromDoesystem { 	public static void main(String[] args) throws Exception { 		int a, b, c, d; 		for (int i = 0; i <= 9999; i++) { 			// หาค่าประจำตำแหน่ง 			a = i/1000; 			b = (i%1000)/100; 			c = (i%100)/10; 			d = i%10; 			if(Math.pow(a, 4) + Math.pow(b, 4) + Math.pow(c, 4) + Math.pow(d, 4) == i){ 				System.out.println(a + "^4 + " + b + "^4 + " + c + "^4 + " + d + "^4 = " + i); 			} 		} 	} } 

ตัวอย่างผลลัพธ์ที่ได้

0^4 + 0^4 + 0^4 + 0^4 = 0
0^4 + 0^4 + 0^4 + 1^4 = 1
1^4 + 6^4 + 3^4 + 4^4 = 1634
8^4 + 2^4 + 0^4 + 8^4 = 8208
9^4 + 4^4 + 7^4 + 4^4 = 9474