辅导笔记(4):质因数分解

// 把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。

//输入样例:36

//输出:36=2*2*3*3

#include<iostream>

#define N 101

using namespace std;

int a[N],b[N];

bool isprime(int x){

for(int i=2;i*i<=x;i++){

if(x%i==0) {

return false;

break;

}

}

return true;

}

int main()

{

int n;

cin>>n;

int s=1,j=1;//s表示累积

if(n<2||n/2!=0) cout<<"n不是合数!"<<endl;

for(int i=2;i<=n;i++)

  if(isprime(i))

  {

  a[j]=i;

  j++;

  }

//  测试是否找出了全部可能的质数因子 

// for(int i=1;i<n;i++)

//   if(a[i]!=0)

//   cout<<a[i]<<' ';

    int i=1,k=1;

int m=n;

while(s!=n){

if(m%a[i]==0&&m!=0)

  {

  b[k]=a[i];

  s=s*b[k];

  k++;

  m=m/a[i];

  }

else  i++;

}

  cout<<n<<"="<<b[1];

  for(int i=2;i<k;i++)

  if(b[i]!=0)

  cout<<'*'<<b[i];

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,718评论 0 2
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,148评论 0 2
  • 卓麦阅读 1,345评论 1 2
  • 昨天和朋友聊天,她说她喜欢的男生要开学了,他对她说:“我不能接受异地恋,所以我们现在不要在一起。”她说:“我不想等...
    苏木辛阅读 1,144评论 0 0
  • 1,做项目与做培训是不同的,培训可以忽悠,空谈,指点江山,激扬文字,海阔天空;做项目必须呕心沥血,踏踏实实。 2,...
    自寅日记阅读 2,656评论 0 15