题解 | #质数因子#

质数因子

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

#include <stdio.h>
int main(){
    int a;
    scanf("%d",&a);
    //短除法求质因数
    for(int i = 2; i*i <= a; i++){   
        //因数循环,寻找质因数进行短除
        //不用每次判断被除数是否是质数,因为由小到大除下来已经排除了
        while(a % i == 0){
            printf("%d ",i);
            a /= i;
        }
    }  //排除 a 是 1 的情况,a 是商值,当商是质数,且不是 1 ,那么它就是质因数
    if(a - 1) printf("%d ",a);
    return 0;
}

全部评论

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务