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

| ไอที | Java | 2662

หาเลขตั้งแต่ 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

comments