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

โปรแกรมหาแฟกทอเรียลของตัวเลขขนาดใหญ่ใน Python

สมมติว่าเรามีตัวเลขขนาดใหญ่ n เราต้องการหาค่าแฟกทอเรียลของมัน ในภาษาอื่นๆ การหาแฟกทอเรียลของตัวเลขใหญ่จะยากมาก เพราะอาจเกินขอบเขตของชนิดข้อมูลจำนวนเต็ม แต่ใน Python จะตรวจจับความยาวและอัปเดตเป็นจำนวนเต็มขนาดใหญ่ (Big Integer) โดยอัตโนมัติ

ตัวอย่างเช่น หาก n = 50 ผลลัพธ์จะเป็น

30414093201713378043612608166064768844377641568960512000000000000

ขั้นตอนการแก้ปัญหา

  • นำเข้า class factorial จากไลบรารี math
  • คำนวณแฟกทอเรียลของ n สำหรับค่าใหญ่ๆ ได้โดยตรง

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

from math import factorial

def solve(n):
    return factorial(n)

n = 50
print(solve(n))

อินพุต

50

เอาต์พุต

30414093201713378043612608166064768844377641568960512000000000000