请问这个该怎么写,按所求素数的值从大到小的顺序,计算其间隔减,加之和
基于Monster 组和GPT的调写:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入要查找的素数数量: ");
scanf("%d", &n);
int primes[n];
int num = 2;
int count = 0;
while (count < n) {
if (is_prime(num)) {
primes[count] = num;
count++;
}
num++;
}
long long sum = 0;
for (int i = n-1; i > 0; i--) {
sum += primes[i] - primes[i-1];
}
sum += primes[0] - 1;
printf("间隔减,加之和为:%lld", sum);
return 0;
}