zoukankan      html  css  js  c++  java
  • Chose_Prime

    素数筛选

    素数也叫质数,即只能被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
  • 相关阅读:
    Python与Flask
    Python与MySQL
    range,map,sum
    Java:初始化类、变量、程序块加载解析
    HTML_记录2
    HTML_记录1
    查看当前连接的实例名
    expdp impdp
    行列转换
    oracle创建定时任务
  • 原文地址:https://www.cnblogs.com/M-D-LUFFI/p/4188613.html
Copyright © 2011-2022 走看看