1process.stdin.resume(); 2process.stdin.setEncoding('utf-8'); 3let input = ''; 4 5process.stdin.on('data', (data) => { 6 input += data; 7}); 8 9process.stdin.on('end', () => { 10 let inputArray = input.trim().split('\n').filter(Boolean); // 去除空行 11 12 function primeFactorization(n) { 13 const factors = []; 14 15 // 检查最小的因子2 16 while (n % 2 === 0) { 17 factors.push(2); 18 n = n / 2; 19 } 20 21 // 检查奇数因子从3开始 22 for (let i = 3; i * i <= n; i += 2) { 23 while (n % i === 0) { 24 factors.push(i); 25 n = n / i; 26 } 27 } 28 29 // 如果n仍然是一个质数且大于2 30 if (n > 2) { 31 factors.push(n); 32 } 33 34 return factors.join(' '); 35 } 36 37 // 处理每个输入并输出结果 38 inputArray.forEach(numStr => { 39 const num = parseInt(numStr, 10); 40 console.log(primeFactorization(num)); 41 }); 42 43 process.exit(); 44});
Copyright ©2010-2022 比特日记 All Rights Reserved.
Powered By 可尔物语