请问这个该怎么写,按所求素数的值从大到小的顺序,计算其间隔减,加之和
1条回答 默认 最新
- 社区专家-Monster-XH 2023-02-19 06:58关注
基于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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报