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

ใช้ BigInt คำนวณแฟกทอเรียลตัวเลขใหญ่ใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลขเป็นอินพุตเดียว ฟังก์ชันควรคำนวณแฟกทอเรียลของตัวเลขใหญ่ (มากกว่า 10) ที่แฟกทอเรียลไม่สามารถเก็บในตัวแปรแบบธรรมดาได้ โดยใช้ BigInt ของ JavaScript สุดท้ายฟังก์ชันควรแปลงแฟกทอเรียลเป็นสตริงและคืนค่าสตริงนั้น

เช่น: ถ้าอินพุทคือ:

const num = 45;

ผลลัพธ์ควรเป็น:

const output = '119622220865480194561963161495657715064383733760000000000';

ตัวอย่าง

โค้ดสำหรับนี้จะเป็นดังนี้:

const num = 45;

const longFactorial = (num) => {
  var bigInt = BigInt(num);
  var factorial = 1n;
  for (let i = 0n; i < bigInt ; i++) {
    factorial *= bigInt - i;
  }
  return String(factorial);
}

console.log(longFactorial(45));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

119622220865480194561963161495657715064383733760000000000