[算法]分解质因数

  今天偶然知道计算机还有作业,遂作之。一大堆表达式什么的很是麻烦,最后是一道编程题,本想大展身手,但是着实不会分解质因数,上网搜索到了相应算法。

  感觉到自己的漏洞还是在数学,数学基础的不扎实一定会是一大隐患。算法的重要性也许在一些应用型的程序上体现不出来,但是算法的地位还是无可撼动的。要好好学了。

  下面分享一下算法

#include<stdio.h>
#include<math.h>
int main()
{
        int n,i;
        scanf("%d",&n);
        printf("%d=",n);
        for(i=2;i<=sqrt(n);i++)          #对半取值
        {
           if(n%i==0) {            #确保是因数
              n/=i;
              printf("%d*",i--);      #确保是质数,后缀++
                 }
         }
       printf("%d
",n);
        return 0;
}

  应该还有更好的算法,我之后再更新。

原文地址:https://www.cnblogs.com/vilogy/p/6592236.html