题解 | #质数因子#

质数因子

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;
}

全部评论

相关推荐

04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务