题解 | #质数因子#

质数因子

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

这个题很好想,但是容易超时。
可能冗杂的思路:
1.从2自增遍历的时候不需要判断是否是因数,因为第一个除开的必然是质数,如果不是的话在增加到他之前就可以被他的因数除开了,不会加到这里。
2.一个数的质因子除去它本身,最大的小于等于他的平方根
3.最后的输出相乘等于这个数,所以直接对数本身操作

#include<bits/stdc++.h>
using namespace std;
int main(){
    long n;
    while(cin>>n){
        for(long i = 2; i<= sqrt(n); i++)
            if(n%i == 0){
                cout<<i<<' ';
                n = n/i;
                i = 1;
            }
        if(n-1) cout<<n;
        cout<<endl;
    }
}

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-06 13:45
门头沟学院_2023
点赞 评论 收藏
转发
头像 会员标识 头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
2022-12-31 20:32
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议