题解 | 质数因子

质数因子

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

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;cin>>n;
    int num=n;//保存n
    for(int i=2;i*i<=n;i++){//最后得到的质因子不会出现i*i>n的情况
        if(n%i==0)printf("%d ",i),n/=i,i--;
     //因为是分解质因子,会有多个重复质因子的情况,比如4->2 2,所以对于一个数需要重复÷,直到除不尽
    }
    if(n!=1&&n!=num)cout<<n<<" ";//处理最后余下的n非1且非原来的数的情况
 if(n==num)cout<<num;//处理n为质数的情况
return 0;
}

全部评论

相关推荐

2025-12-06 16:17
济宁学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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