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