题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
#include <iostream>
#include <vector>
void primeFactorization(long long n) {
while (n % 2 == 0) {
std::cout << "2 "; // 如果 n 可以整除 2,输出 2 并将 n 除以 2
n /= 2;
}
for (long long i = 3; i * i <= n; i += 2) {
while (n % i == 0) {
std::cout << i << " "; // 如果 n 可以整除 i,输出 i 并将 n 除以 i
n /= i;
}
}
if (n > 1) {
std::cout << n << " "; // 处理剩余的大于 1 的 n(即最后一个质因子)
}
}
int main() {
long long n;
std::cin >> n;
if (n <= 1) std::cout << 1 << std::endl;
primeFactorization(n);
return 0;
}


查看16道真题和解析