Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาค่ากำลังสองของ 2 แบบ modulo ใน Python

กำหนดจำนวนเต็ม 2 ตัว p และ q ต้องการหาค่า 2^(2^p) mod q

ตัวอย่าง

อินพุต: p = 5, q = 6 → เอาต์พุต: 4

วิธีแก้ปัญหา

ใช้ฟังก์ชัน pow(base, exp, mod) ใน Python ซึ่งคำนวณ base^exp mod mod ได้อย่างมีประสิทธิภาพด้วยอัลกอริทึม binary exponentiation

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

def solve(p, q):
    res = pow(2, 2 ** p, q)
    return res

print(solve(5, 6))

อินพุต / เอาต์พุต

Input:  5, 6
Output: 4

คำอธิบาย: 2^5 = 32 แล้ว 2^32 mod 6 = 4 ฟังก์ชัน pow() ใน Python จัดการเลขใหญ่ได้โดยอัตโนมัติโดยไม่เกิด overflow