用c语言并且就使用一个主函数编程找出1000以内最小的10个素数与最大的10个素数,输出这20个素数及这20个素数之
时间: 2024-12-20 16:24:59 浏览: 9
输出n以内的所有素数 c语言:找出N以内的所有素数
在 C 语言中,我们可以使用嵌套循环以及一些基本的判断条件来找出1000以内最小的10个和最大的10个素数。首先,需要编写一个用于检查是否为素数的辅助函数。以下是整个程序的一个示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 辅助函数:检查是否为素数
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int lower_limit = 2, upper_limit = 1000;
int min_primes[10], max_primes[10];
int count_min = 0, count_max = 0;
// 找出最小的10个素数
for (int num = lower_limit; count_min < 10 && num < upper_limit; num++) {
if (is_prime(num)) {
min_primes[count_min] = num;
count_min++;
}
}
// 打印最小的10个素数
printf("最小的10个素数:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", min_primes[i]);
}
printf("\n");
// 找出最大的10个素数
for (int num = upper_limit; count_max < 10 && num > lower_limit; num--) {
if (is_prime(num)) {
max_primes[count_max] = num;
count_max++;
}
}
// 打印最大的10个素数
printf("最大的10个素数:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", max_primes[i]);
}
printf("\n");
// 计算并打印最小和最大素数的乘积
long long product_min = 1, product_max = 1;
for (int i = 0; i < 10; i++) {
product_min *= min_primes[i];
product_max *= max_primes[i];
}
printf("最小10个素数的乘积: %lld\n", product_min);
printf("最大10个素数的乘积: %lld\n", product_max);
return 0;
}
```
运行此程序后,它将找到1000以内最小和最大的10个素数,并计算它们的乘积。
阅读全文