(1) 实现传统方法求素数:编写一个程序primer_pro1.c,使用暴力计算法计算30000000到30000200之间的所有素数,并输出这些素数。运行10次primer_pro1,记录每次运行的时间,并计算平均运行时间。 提示: 记录运行时间时,需要把你的标准输出重定向到/dev/null设备; 查看程序运行时间可用time命令。
时间: 2024-03-09 22:51:27 浏览: 112
好的,以下是primer_pro1.c的代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int start = 30000000;
int end = 30000200;
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
你可以使用以下命令编译并运行程序:
```
gcc -o primer_pro1 primer_pro1.c
time ./primer_pro1 >/dev/null
```
注意,这里我们将标准输出重定向到/dev/null设备,这样可以避免输出对程序运行时间的影响。
你需要运行10次程序,并记录每次运行的时间。可以使用以下命令进行测试:
```
for i in {1..10}; do time ./primer_pro1 >/dev/null; done
```
最后计算平均运行时间即可。
阅读全文