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 广东

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
5
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务