ให้สองตัวเลข n และ m, ประเมินหอพลังอนันต์:
n ^ (n + 1) ^ (n + 2) ^ (n + 3) ^ (n + 4) ^ ... mod m
โปรดทราบว่า ^ มีความสัมพันธ์ที่ถูกต้อง ดังนั้น 2 ^ 3 ^ 4 = 2 ^ (3 ^ 4) ทีนี้คุณจะสามารถกำหนดค่าให้กับตัวดำเนินการเชื่อมโยงแบบไม่สิ้นสุดได้อย่างไร
กำหนด f (n, m, i) เป็นหอส่งกำลังไฟฟ้าที่บรรจุเทอมแรกของหอส่งกำลังไม่มีที่สิ้นสุด จากนั้นก็มีค่าคงที่ C เช่นนี้สำหรับทุก ๆ i> C, f (n, m, i) = f (n, m, C) ดังนั้นคุณสามารถพูดได้ว่าหอพลังงานที่ไม่มีที่สิ้นสุดมาบรรจบกับค่าที่แน่นอน เราสนใจในคุณค่านั้น
โปรแกรมของคุณจะต้องสามารถคำนวณ n = 2017, m = 10 ^ 10 ได้ภายใน 10 วินาทีบนพีซีที่ทันสมัยพอสมควร นั่นคือคุณควรใช้อัลกอริธึมที่แท้จริงโดยไม่มีข้อผิดพลาด
คุณอาจจะคิดว่าn <2 30และม. <2 50สำหรับข้อ จำกัด ของตัวเลขในการเขียนโปรแกรมภาษาของคุณ แต่ขั้นตอนวิธีการของคุณจะต้องทำงานในทางทฤษฎีสำหรับขนาดใดก็ได้n , ม. อย่างไรก็ตามโปรแกรมของคุณจะต้องถูกต้องสำหรับอินพุตภายในข้อ จำกัด ด้านขนาดค่าโอเวอร์โฟลว์ค่ากลางจะไม่ได้รับการยกเว้นหากอินพุตอยู่ภายในขีด จำกัด เหล่านี้
ตัวอย่าง:
2, 10^15
566088170340352
4, 3^20
4
32, 524287
16
n
และm
จะไม่ได้รับประกันว่าจะร่วมที่สำคัญ