题解 | #质数因子#

质数因子

https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main() {
    int num;

    while (cin >> num) {
        for (int i = 2; 1ll * i * i <= num;
                i++) //1LL会在运算时把后面的临时数据扩容成long long类型
//n的值在每次循环结束可能会改变
//类似于辗转相除法
//隐含的判断条件是当前的n没有小于sqrt(n)的因子,即n为质数,假如当前i小于等于sqrt(n),那么一定可以继续往下除
//?可不可能除以一个合数i 判断不太可能,因为是由小到大的顺序,合数i的因数已经除了


//            if(n%i==0)
            while (num % i == 0) {
                cout << i << ' ';
                num /= i;
            }
        if (num != 1)
            cout << num;

    }
}

全部评论

相关推荐

小肥罗:此乃引蛇出洞之计,勾出你想去杭州的原因再告诉你不在杭州,让你打脸,自己离开。好一招抛砖引玉,虾仁猪心。你回复:计划去杭州,但我心中第一选择是宁波~巧了! 这计名叫“阿Q精神胜利法之厚脸皮不要脸我不尴尬谁爱尴尬谁尴尬去”之计!克制一切!
这个工作能去吗
点赞 评论 收藏
分享
牛牛不会牛泪:脉脉太多这种了,纯水军
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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