先设计一个函数bool isPrime(int num),用于判断一个数num是否是质数。 再设计一个函数void getPrimeFactor(int n, int aa[10]) 对一个正整数n进行质因数分解,其结果通过aa存放到一个数组a[10]中。
可以按照如下程序框架设计:
#include <iostream>
#include <cmath>
using namespace std;
//判断一个数是否是质数
bool isPrime(int num)
{
…
return true;
}
//对n进行质因数分解,存放到p[]中
void getPrimeFactor(int n, int aa[])
{
…
}
int main()
{
int a[10] = { 0 };
int N;
cin>>N;
getPrimeFactor(N,a);
int i;
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
你可以把问题再描述清楚一点嘛,对n分解质因数是分解一次还是分解出所有的质因数
#include <iostream>
using namespace std;
int main()
{
int n, n2;
cin >> n;
cout << n << "=";
n2 = n;
if(n<2)return 0;
for (int i = 2; i*i <= n2; i++)
{
while (n2%i == 0)
{
n2 = n2 / i;
cout << i;
if (n2 != 1)cout << "*";
}
}
if(n2!=1) cout << n2;
return 0;
}
```