1process.stdin.resume(); 2process.stdin.setEncoding('utf-8'); 3let input = ''; 4process.stdin.on('data', (data) => { 5 input += data; 6}); 7process.stdin.on('end', () => { 8 let inputArray = input.split('\n'); 9 10 let n = Number(inputArray[0]); 11 12 function multiplyBigInt(a: string, b: number): string { 13 let carry = 0; 14 let result = ''; 15 for (let i = a.length - 1; i >= 0; i--) { 16 let product = (parseInt(a[i]) * b) + carry; 17 result = (product % 10).toString() + result; 18 carry = Math.floor(product / 10); 19 } 20 while (carry > 0) { 21 result = (carry % 10).toString() + result; 22 carry = Math.floor(carry / 10); 23 } 24 return result; 25 } 26 27 function doFunc(n: number): string { 28 if (n <= 1000 && n >= 0) { 29 let result = '1'; 30 for (let i = 2; i <= n; i++) { 31 result = multiplyBigInt(result, i); 32 } 33 return result; 34 } 35 return '0'; // 如果不在范围内,返回 '0' 36 } 37 38 let result = doFunc(n); 39 console.log(result); 40 process.exit(); 41});
Copyright ©2010-2022 比特日记 All Rights Reserved.
Powered By 可尔物语