怎样用C++编写将一个整数分解质因数的程序?

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:52:34

#include <iostream.h>
#include <math.h>

//试用除法判断一个数是否为素数
bool Isprime(int n)
{
for(int i=2;i<=sqrt(n);i++)
//如果能被一个数整除则不是素数
if(n%i==0)
return false;
//不能被2--n之内的任一个数整除,判定为素数
return true;
}

void Factor(int n)
{
int i;
if(Isprime(n))
cout<<n<<' ';
else
{
for(i=2;i<sqrt(n);i++)
if(n%i==0)
break;
Factor(i);
Factor(n/i);
}
}

void main()
{
int n;
cout<<"请输入一个数:";
cin>>n;
cout<<"因子分解:";
Factor(n);
cout<<endl;
}

//貌似楼上几位都忘了重复测试i能否整除目标整数?

#include <iostream>
using namespace std;
void main()
{
long N,N2,i,t,count;
cout<<"<因式分解>"<<endl;
cout<<"本程序中N和1不视作N的因子。"<<endl;