เราต้องเขียนฟังก์ชัน 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