使用c++编写一个程序,输入 n(10≤ n ≤10000) 和 k(1≤ k ≤10),求 n 以内最大的 k 个素数,按降序排列并将和输出在最后。
时间: 2023-06-01 09:05:29 浏览: 65
好的,这是一个计算问题,我能够回答。以下是符合要求的 C 语言程序:
```
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#define MAX_NUM 10000
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int cmp(const void *a, const void *b) {
return *(int *)b - *(int *)a;
}
int main() {
int n, k;
scanf("%d %d", &n, &k);
int prime[k], sum = 0;
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
if (sum < k) {
prime[sum++] = i;
} else {
int min_index = 0;
for (int j = 1; j < k; j++) {
if (prime[j] < prime[min_index]) {
min_index = j;
}
}
if (i > prime[min_index]) {
prime[min_index] = i;
}
}
}
}
qsort(prime, k, sizeof(int), cmp);
for (int i = 0; i < k; i++) {
printf("%d ", prime[i]);
}
printf("\n%d", sum == k ? sum * prime[0] : sum * prime[sum - 1]);
return 0;
}
```
输入格式为一行,以空格分隔的两个整数 n 和 k。输出前 k 个素数和这 k 个素数的和,用空格分隔。如果所有的素数个数不足 k 个,则只输出实际的素数个数和这些素数的和。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)