码迷,mamicode.com
首页 > 其他好文 > 详细

Chose_Prime

时间:2014-12-27 17:23:50      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

素数筛选

素数也叫质数,即只能被1和自己本身整除的数。在程序中,怎样筛选出在一定范围内中的素数呢?我们可以这样做:

① 先从2开始找,然后删去这一范围中所有能被2整除的数。

② 找到下一个没有被删去的数字n。

③ 删去这一范围内中所有能整除n的数。

④ 如果n*n>"范围最大值"就跳出,否则跳到第②步。

 

代码:

技术分享
 1 #include <iostream>
 2 #define N 100001
 3 
 4 using namespace std;
 5 
 6 int prime[N];
 7 
 8 void Chose_Prime(int n)
 9 {
10     prime[0] = 1;
11     prime[1] = 1;
12     for (int i = 2; i * i <= n; i++)
13     {
14         if (prime[i] == 0)                          //找到了没有被删掉的数字i
15         {
16             for (int j = 2 * i; j <= n; j += i)
17             {
18                 prime[j] = 1;                       //prime数组里面值为0的便为素数
19             }
20         }
21     }
22 
23     for (int i = 0; i < n; i++)                     //打印素数
24     {
25         if (prime[i] == 0)
26         {
27             cout << i << endl;
28         }
29     }
30 }
31 int main()
32 {
33     Chose_Prime(100);
34     return 0;
35 }
View Code

Chose_Prime

标签:

原文地址:http://www.cnblogs.com/M-D-LUFFI/p/4188613.html

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