题解 | #质数因子#
质数因子
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; }