题解 | #质数因子#

质数因子

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

#include <math.h>
#include <stdio.h>

int main() {
    int num;
    scanf("%d",&num);
    int i =2; 
        while(i<=(int)sqrt(num)){//因子不大于除数平方根 防止超时
            if(num % i==0){ //是因子判断因子是否素数 
                int j;
                for(j =2;j<=(int)sqrt(i);j++){
                    if (i % j==0) {
                        break;
                    }
                }
                if(j>(int)sqrt(i)){ //是素数
                    num = num / i;
                    printf("%d ",i);
                    continue;
                }              
            }
            i++; //不是因子
       } 
       if(num !=1){
        printf("%d ",num);
       }

    return 0;
}

全部评论

相关推荐

01-04 11:28
已编辑
广州华立学院 Java
程序员花海:实习内容写的看起来太偏向于技术了 要结合业务 很多同学搞反了 其实业务才是最重要的 要避免这种单纯罗列技术栈的格式
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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