HJ6 质数因子 | 杂乱无章的初级程序员的题解

质数因子

http://www.nowcoder.com/questionTerminal/196534628ca6490ebce2e336b47b3607

减而治之

递推

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    uint32_t n;
    cin >> n;

    for (uint32_t i = 2u; i < sqrt(n) + 1; ++i) {
        while (n % i == 0) {
            cout << i << ' ';
            n /= i;
        }
    }
    if (n > 1u) {
        cout << n << ' ';
    }
    cout << endl;
}

递归

#include <cmath>
#include <iostream>
#include <string>

using namespace std;

string PrimeFactors(uint32_t i, uint32_t n)
{
    for (; i < sqrt(n) + 1; ++i) {
        if ((n % i) == 0) {
            return to_string(i) + " " + PrimeFactors(i, n / i);
        }
    }
    return to_string(n) + " ";
}

int main()
{
    uint32_t n;
    cin >> n;
    cout << PrimeFactors(2, n);
}

变更履历

2022/8/27:优化递归解法,新增递推解法

#华为机试#
全部评论
从for里跳出来的 都是false啊,而且 2 的时候不是无限循环吗,2%2=0 false 又是 2%2 有点看不懂
1 回复 分享
发布于 2019-09-06 15:28
用39测试过这个程序吗?
点赞 回复 分享
发布于 2023-03-01 21:55 广东

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
评论
4
2
分享
牛客网
牛客企业服务