`

因式分解的算法

阅读更多
xml 代码
  1.   
  2.  笔试做到因式分解,因为时间不够没写完代码,现在把代码补全    
  3. #include<iostream.h>  
  4. #include <stdlib.h>  
  5.   
  6. int *divp(int m,int &k);   
  7. bool isp(int n);   
  8.   
  9. int main()   
  10. {   
  11.  int w;   
  12.     int l=0;   
  13.  int *p;   
  14.  int res[100]={0};   
  15.  cout<<"输入要因式分解的数"<<endl;   
  16.  cin>>w;   
  17.  if(isp(w)){   
  18.   cout<<w<<"是质数不能因式分解"<<endl;   
  19.   exit(0);   
  20.  }   
  21.  else   
  22.  {   
  23.   p=divp(w,l);   
  24.  }   
  25.     
  26.  cout<<w<<"可因式分解为:"<<endl;   
  27.     
  28.  for(int h=0;h<l;h++)   
  29.  { if(h==l-1)   
  30.      cout<<p[h]<<endl;   
  31.   else   
  32.      cout<<p[h]<<"*";   
  33.     
  34.  }   
  35.     delete   []p;   
  36.  p   =   NULL;    
  37.     
  38.   
  39.     
  40.  return 0;   
  41. }   
  42.   
  43. int *divp(int m,int &k)   
  44. {    
  45.  int   *res   =   new   int[100];   
  46.     
  47.  while(m!=1)   
  48.  {   
  49.      
  50.   for(int i=2;i<m+1;i++)   
  51.   {    
  52.       
  53.    if(m%i==0)   
  54.    {    
  55.                 m=m/i;   
  56.     if(isp(i)){   
  57.   
  58.      res[k]=i;   
  59.      if(isp(m))   
  60.      {   
  61.       k++;   
  62.      res[k]=m;   
  63.      break;   
  64.      }   
  65.      k++;   
  66.      break;   
  67.     }   
  68.        
  69.    }   
  70.       
  71.   }   
  72.  }   
  73.     
  74.  return res;   
  75. }   
  76.   
  77. bool isp(int n)   
  78. {   
  79.  int c=0; //保存整除因数的个数   
  80.  for(int j=2;j<n+1;j++)//除数遍历   
  81.  {    
  82.      
  83.   if(n%j==0)//整除   
  84.   {   
  85.    c++;   
  86.   }   
  87.  }   
  88.  if(c==1)//表明只有一个整数因子   
  89.   return true;   
  90.  else   
  91.   return false;   
  92. }   
  93.   
分享到:
评论
4 楼 sunnycare 2008-02-13  
有点意思啊
3 楼 ggggqqqqihc 2008-02-13  
我还以为是多项式的因式分解
2 楼 yzfy 2008-01-22  
楼主,这是因子分解不是因式分解。。。。。。。。。。。。。
1 楼 rappy 2007-12-12  
bool isp(int n)   
{   
int c=0; //保存整除因数的个数   
for(int j=2;j<n+1;j++)//除数遍历   
{    
     
  if(n%j==0)//整除   
  {   
   c++;   
  }   
}   
if(c==1)//表明只有一个整数因子   
  return true;   
else   
  return false;   
}   
这个得改进.

相关推荐

    基于matlab的因式分解算法

    【标题】基于MATLAB的因式分解算法 在数学和信号处理领域,因式分解算法是一种重要的技术,常被用于滤波器设计和系统辨识。MATLAB作为一个强大的数值计算和编程环境,提供了丰富的工具和函数来实现这些算法。本文将...

    多项式因式分解分解算法(计算机实现)

    该资源包中含有两篇比较好的多项式因式分解算法相关论文,和一个有关牛顿插值的PPT,其中衷仁宝教授的论文:一个在Z_x_上多项式因式分解算法_衷仁保.caj我通读了,并认为写的很好,不愧是大家。并由在文档中附有注释...

    基于模式识别的多项式因式分解算法及其应用

    ### 基于模式识别的多项式因式分解算法及其应用 #### 摘要解析与核心知识点 本文探讨了模式识别与搜索技术在智能教学软件设计中的具体应用,特别聚焦于多项式因式分解算法及其自动化解题过程。模式识别技术在此...

    因式分解算法

    因式分解,算法导论上的算法,还是有点问题,有些数不能得到正确的值

    因式分解实现算法

    虽然递归因式分解算法在小规模问题上表现良好,但面对大规模的整数,我们需要更高效的算法,如Pollard's rho、Quadratic Sieve、Elliptic Curve Method等。这些高级算法利用了特定的数学结构和并行计算,能够处理...

    Python实现的质因式分解算法示例

    本次内容将详细介绍如何用Python实现质因式分解算法,并结合相关操作技巧来提供一个实用的示例。 首先,让我们来理解质因式分解的概念:对于任意一个大于1的自然数,如果可以将其分解为几个质数的乘积,那么这个...

    yafu因式分解工具

    1. **算法多样性**:YAFU支持多种因式分解算法,如Pollard's rho、ECM(椭圆曲线法)、GMP-ECM、SIQS(Special Number Field Sieve)等。这些算法各有优劣,适用于不同大小的整数分解,可以根据目标数的特性选择合适...

    matlab开发-因式分解多多项式

    在MATLAB环境中,进行因式分解多多项式是一项常见的...但是,对于特定需求,可能需要编写自定义代码,如`PolyFct.m`,以实现更高级的因式分解算法。理解这些概念和方法对于在MATLAB中进行数学建模和算法开发至关重要。

    因式分解程序(C#)源代码

    此外,通过分析和调试这个程序,还可以深入理解质数判断和因式分解算法的工作原理。 【压缩包子文件的文件名称列表】:仅有一个名为"zhishu"的文件,这很可能是包含了因式分解程序源代码的主文件或者是一个包含所有...

    因式分解方法求解方程

    3. **因式分解**:接着,程序执行因式分解算法。常见的方法有试除法、配方法、完全平方公式等。试除法是不断尝试较小的整数作为因子,直到无法再分解为止。配方法适用于二次多项式,通过配方将其转换为完全平方形式...

    factorize:有效的因式分解算法

    在标题“factorize:有效的因式分解算法”中,我们关注的是如何高效地实现这一过程,特别是针对大数字的处理。 JavaScript,作为标签指定的语言,表明这些算法是用JavaScript编写的,这使得它们可以在Web环境下运行...

    提高Shor因式分解算法的成功率

    Shor的因式分解算法(SFA)是量子计算领域中的一项重要算法,它由数学家彼得·绍尔(Peter Shor)于1994年提出,用于在多项式时间内分解一个合数整数N为其素因数。这个算法在理论上证明了量子计算机对于特定的数学...

    伦斯特拉椭圆曲线因式分解或椭圆曲线因式分解方法(ECM)

    如果剩余的整数仍然是复合的,那么它只有很大的因素,并且使用通用技术来分解。迄今为止使用ECM发现的最大因素有83位十进制数字,并于2013年9月7日由R. Propper发现。[1]增加测试曲线的数量可以提高找到因子的几率...

    二次筛:使用二次筛算法进行因式分解

    二次筛用Python编写的用于因子分解的二次筛算法的实现。目录技术领域使用的技术: python版本:3.9.1 py.test版本:6.2.2 numpy版本:1.20.1测试中运行测试: $ pip install pytest$ cd ../quadratic_sieve$ pytest...

    自然数n次幂的求和公式及其因式分解的Matlab求解.zip

    这份文档可能还会探讨因式分解算法在Matlab中的应用,以及如何结合n次幂求和公式进行数值计算和分析。 总之,理解和掌握自然数n次幂的求和公式及其因式分解不仅有助于深化对数学原理的理解,也能提高在Matlab等工具...

    Python实现的对一个数进行因式分解操作示例

    本文将深入探讨一个使用Python实现的因式分解算法,以及如何优化代码性能。 首先,我们要理解因式分解的基本概念。在数学中,因式分解是将一个数表示为若干个质数的乘积的过程。例如,将707829217分解成它的质因数...

    试题 算法提高 8-1因式分解

    此题考察了基础的因式分解算法以及基本的Java编程技巧。解题的关键在于理解合数的因子性质,以及如何有效地遍历并找出这些因子。通过这个题目,可以锻炼编程能力和算法思维,特别是对于素数和合数的理解。

Global site tag (gtag.js) - Google Analytics