|
ไอที |
Java |
8293
หาเลขตั้งแต่ 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