算法基础-求1000以内的质数

Posted VIJOZ的程序世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法基础-求1000以内的质数相关的知识,希望对你有一定的参考价值。

 1 //筛选1000以内的所有质数
 2 //说明:除了自身以外,无法被其它整数整除的数称之为质数。
 3 //
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 #define N 1000
 7 
 8 int main(void) {
 9     int i, j;
10     int prime[N + 1];
11     //初始化数组都等于1
12     for(    i = 2; i <= N; i++){
13         prime[i]=1;
14     }
15     //嵌套for循环筛选出能整除的相对于的数组至于0
16     for (i = 2; i * i <= N; i++) {
17         if (prime[i] == 1) {
18             for (j = 2 * i; j <= N; j++) {
19                 if (j % i == 0)
20                     prime[j] = 0;
21             }
22         }
23     }
24     //遍历数组、数组还等于1的是质数打印出来
25     for (i = 2; i < N; i++) {
26         if (prime[i] == 1) {
27             printf("%4d", i);
28             //隔几个换行
29             if ((i % 16) == 0){//不知道为什么没有起作用
30                 printf("\n");
31             }
32         }
33     }
34     printf("\n");
35     return 0;
36 }

找一些简单的数学算法敲一敲。

以上是关于算法基础-求1000以内的质数的主要内容,如果未能解决你的问题,请参考以下文章

c语言使用循环找出100之内的所有质数

使用达梦数据库快速查找1000以内的质数

使用达梦数据库快速查找1000以内的质数

17 算法复杂度

编写程序求2到100以内所有质数,下面一个程序中当i=2时,从第二个for循环给我分析一下执行的过程,详细的!

求100以内的质数