题解 | #质数因子#

质数因子

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

需要避免的问题:
1.过大的纯质数 i<=sqrt(input);
2.不要进行无意义的循环 a=1时就退出循环;

int main()
{
    long a,b;
    cin>>a;
    b=sqrt(a); //避免纯质数过大
    for(long i=2;i<=b&&a!=1;i++)//不做无意义的循环
    {
        while(a%i==0)
        {
            a/=i;
            cout<<i<<" ";
        }
    }
    if(a-1) cout<<a<<" ";
    return 0;
}
全部评论

相关推荐

用微笑面对困难:不是你千万别小看这家公司,他们的预估市值成倍上涨,三次在报告看见这个公司了,总之如果是给股权的话可以试试,未来没准真能发家致富哈哈哈哈
点赞 评论 收藏
分享
刷牛客的我很豁达:你是不是对算法有什么误解,你没手握两篇顶刊顶会,还想搞算法岗,有顶刊顶会在算法岗算才入门
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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