C语言:将一个正整数进行质因数分解

见最新方法:https://blog.csdn.net/weixin_42545675/article/details/102072077

质因数即既是一个数的约数又是素数。

#include 
#include 

int IsPrime(int num)
{
    int i;
    if(num <= 1)
        return 0;
    for(i = 2;i <= sqrt(num);++i)
        if(num%i == 0)
        return 0;
    return 1;
}


int main()
{
    int i,n;
    scanf("%d",&n);
    for(i = 2;i <= n;)
    {
        if(IsPrime(i))
        {
            if(i == n)
            {
                printf("%d",i);
                ++i;
            }
            else if(n%i==0)
            {
                printf("%d*",i);
                n = n/i;
            }
            else
                ++i;
        }
        else
            ++i;
    }

    return 0;
}

 

你可能感兴趣的:(杂谈)