题解 | #质数因子#

质数因子

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

#include <stdio.h>
#include <math.h>
int main() {
    int x;
    scanf("%d",&x);
    for(int i=2;i<=sqrt(x);i++)//有一个测试用例很大,循环的上界设为x,会超时。
    {
        while(x%i==0)
        {
            printf("%d ",i);
            x/=i;
        }
    }
    if(x>2)//若到这步,x非1,则‘x现’是一个大于sqrt(x原)的质数,直接输出就可
    printf("%d ",x);
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务