用c++随机生成一个10位的素数
时间: 2024-02-15 10:02:58 浏览: 80
以下是一个随机生成10位素数的C++代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
// 判断是否是素数
bool is_prime(int n) {
if (n <= 1) {
return false;
}
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
// 生成随机10位数
int generate_number() {
return rand() % 9000000000 + 1000000000;
}
// 随机生成10位素数
int generate_prime_number() {
int n;
do {
n = generate_number();
} while (!is_prime(n));
return n;
}
int main() {
srand(time(NULL));
int prime = generate_prime_number();
cout << "随机生成的10位素数为:" << prime << endl;
return 0;
}
```
该代码中,首先定义了一个用于判断素数的函数 `is_prime`,然后定义了一个生成随机10位数的函数 `generate_number`,最后通过调用这两个函数随机生成10位素数。注意,该代码中使用了C++11的随机数生成器,需要编译时加上 `-std=c++11` 参数。
阅读全文