整数分解

整数分解

 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});
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split('\n').filter(Boolean); // 去除空行 function primeFactorization(n) { const factors = []; // 检查最小的因子2 while (n % 2 === 0) { factors.push(2); n = n / 2; } // 检查奇数因子从3开始 for (let i = 3; i * i <= n; i += 2) { while (n % i === 0) { factors.push(i); n = n / i; } } // 如果n仍然是一个质数且大于2 if (n > 2) { factors.push(n); } return factors.join(' '); } // 处理每个输入并输出结果 inputArray.forEach(numStr => { const num = parseInt(numStr, 10); console.log(primeFactorization(num)); }); process.exit(); });

Powered By 可尔物语

浙ICP备11005866号-12