找出500-600之间的质数,输出时显示“质数是501.502……”(数字是我乱写的)
1条回答 默认 最新
来把薯条 2021-11-10 19:04关注这是利用筛法求质数的代码:
#include <stdio.h> #include <stdbool.h> const int N = 650; bool flag[650]; // 埃氏筛法 int main(void) { for (int i = 0; i < N; i++) flag[i] = true; flag[0] = flag[1] = false; for (int i = 2; i < N; i++) for (int j = i + i; j < N; j += i) flag[j] = false; printf("Prime:"); for (int i = 500; i < 600; i++) if (flag[i]) printf("%d.", i); puts(""); return 0; }这是一个判断一个数是不是质数的函数,也可以利用循环来分别判断一个数是不是质数
bool isPrime(int n) { if (n < 2) return false; if (n == 2) return true; for (int i = 2; i <= n / i; i++) if (n % i == 0) return false; return true; }找出的质数如下:
503.509.521.523.541.547.557.563.569.571.577.587.593.599.望采纳,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报