现在小明拿到了一个数字n,已知这个数字是两个质数的乘积,请求出这两个质数。用c++语言回答
时间: 2024-03-25 08:40:45 浏览: 115
C++如何判断一个数字是否为质数
5星 · 资源好评率100%
好的,可以使用以下代码来实现:
```c++
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i <= n / i; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cin >> n;
for (int i = 2; i <= n / i; i++) {
if (n % i == 0 && isPrime(i) && isPrime(n / i)) {
cout << i << " " << n / i << endl;
break;
}
}
return 0;
}
```
这段代码首先定义了一个函数isPrime,用来判断一个数是否为质数。然后,在主函数中,读入了数字n,依次枚举2到sqrt(n)之间的数i,如果n能被i整除,并且i和n/i都是质数,那么i和n/i就是n的两个质因数。最后输出即可。
阅读全文