题解 | #质数因子# C++解法,帮二楼大佬改进后的代码,3ms通过

质数因子

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

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long m;
    while(cin>>m)
    {
        for(long i=2;i*i<=m;i++)
        {
            while(m%i==0)
            {
                cout<<i<<" ";
                m/=i;
            }
        }
        if(m>=2) cout<<m<<" ";//如果m=1,则while循环中刚好被质数分解完,如果大于1,说明没有被分解完,m就是那最后一个质数
                              //同时,这句也可以应对输入为质数的特殊情况
        cout<<endl;
    }
}
全部评论
写成 i <= m / i 会更好
1 回复 分享
发布于 2024-04-22 00:18 安徽
大佬,这个i*i<=m,能不能说说啊,
点赞 回复 分享
发布于 2022-09-02 17:03 湖南

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
35
3
分享

创作者周榜

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