C/C++编程题之质数因子

将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“质数因子”,非常的有难度,现在将通过的代码贴一下,供大家参考。

功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

最后一个数后面也要有空格

#include <stdlib.h>
#include <stdio.h>
int getResult(long ulDataInput,long *res)
{
    int i=0;
    int j=0;
    int dev = ulDataInput;
    for(i=2;i<=ulDataInput;++i)
    {
        if(dev%i==0)
        {
            dev=dev/i;
            res[j]=i;
            j++;
            i=1;
        }
    }
    return j;
}
int main()
{
    long outputbuf[100]={0};
    long inputdata;
    scanf("%ld",&inputdata);
    int p = getResult(inputdata,outputbuf);
    for(int i=0;i<p;i++)
    {
        printf("%d ",outputbuf[i]);
    }
    //printf(" \n");
}

猜你喜欢

转载自blog.csdn.net/lzyzuixin/article/details/111387564
今日推荐