【题目描述】

把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。

输入一个正整数nn,将nn分解成质因数乘积的形式。

【输入】

一个正整数nn。

【输出】

分解成质因数乘积的形式。质因数必须由小到大,见样例。

【输入样例】

36

【输出样例】

36=2*2*3*3

【提示】

【数据范围】

对于所有数据,2n200002≤n≤20000。

#include<stdio.h>
#include<math.h>
int asd(int n)
{
    int a=1;
    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            a=0;
            break;
        }
    }
    return a;
}
int main()
{
    int n,y,i,j;
    scanf("%d", &n);
    y=n;
    i=2;
    printf("%d=",n);
    while(1)
    {
        if(asd(i)&&(y%i==0)) 
        {
            y/=i;
            if(y==1)
            {
                printf("%d\n", i);
                break;
            }
            else printf("%d*",i);
        }
        else i++;
    }
    return 0;
}

  

posted on 2022-05-15 14:31  禹城我的家  阅读(1128)  评论(0)    收藏  举报