首页 > 其他 > 详细

Chose_Prime

时间:2014-12-27 17:23:47      阅读:200      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!