分解质因数


int isPrime(int i);

int main()
{
    int number;
    do
    {
        scanf("%d", &number);
    } while( number<2 && number>100000 );
    
    printf("%d=", number);
    if(isPrime(number))
    {
        printf("%d", number);
    }
    else
    {
        int i = 2;
        do 
        {
            if ( isPrime(i) == 1 )
            {
                while( number%i == 0 )
                {
                    printf("%dx", i);
                    number /= i;
                    if( isPrime(number))
                    {
                        printf("%d", number);
                        break;
                    }
                }

                                
            }
            i++;
                    
        } while( isPrime(number) == 0);
        
    }
    
    return 0;
}


int isPrime(int i)
{
    int ret = 1;           //是质数
    int k;
    for( k=2; k<i-1; k++ )
    {
        if( i%k == 0 )
        {
            ret = 0;
        }
    } 
    return ret;
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对一个整数进行分解质因数。方法一:暴力: 方法二:Pollard Rho算法时间复杂度为n^0.25 原文请点击这...
    Gitfan阅读 2,268评论 0 1
  • C语言实现代码 素数的判断还有2到sqrt(a),加入头文件include<math.h> 合数分解质因数(C++实现)
    极速魔法阅读 346评论 0 0
  • 题目: 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 程序分析: 对n进行分解质因数,应先找到...
    Hughman阅读 1,592评论 0 3
  • //输入两个数字a,b,则输出从a到b之间的所有整数的分解出质因数乘积的式子 void calArray(int ...
    Tangbh阅读 484评论 0 0
  • 【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
    Xplorist阅读 521评论 0 0