1366: 分解质因子

1366: 分解质因子

时间限制: 1 Sec 内存限制: 128 MB
题目描述
将一个正整数分解质因数,例如,输入90,输出2 3 3 5。

输入
输入一个正整数n(2<=n<=2000)。

输出
从小到大输出n的所有质因子,每两个数之间空一格。

样例输入
20
样例输出
2 2 5
提示
注意,最后一个数后面没有空格!!

#include<stdio.h>
int main()
{
    
    
    int m,n,a[20000]={
    
    0},i=0;
    scanf("%d",&n);
    while(n>1)
    {
    
    
        m=2;//每次从2开始取i最小的素数
        for(;m<=n;m++)
        {
    
    
            if(n%m==0)
            {
    
    
               a[i]=m;
               i++;
               n=n/m;
               break;
            }
        }
    }
    for(m=0;m<i;m++)
    {
    
    
        if(a[m]!=0)
        {
    
    
            printf("%d ",a[m]);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_51996479/article/details/110675235