码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-06-22 21:59:29      阅读:417      评论:0      收藏:0      [点我收藏+]

标签:

 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以内的质数

标签:

原文地址:http://www.cnblogs.com/vijozsoft/p/5608624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!