第一周——素数筛法

来源:互联网 发布:神tm是什么梗 知乎 编辑:程序博客网 时间:2024/06/05 16:33
分析:
一种求素数的方法。假设求1~100之间的素数,从最小的素数开始,筛掉它所有成它倍数的数,筛选完一轮之后继续从下一个最小的质数开始,和上面方法相同,去除所有它的倍数的数,这样筛选下去直到最后一个素数,就完成了1~100之间所有的素数查找。

代码:

#include<iostream>using namespace std;int judge[101] ;int main(){    //设寻找1~100之间的素数    for ( int i = 2; i <= 100; i++ ){        if ( judge[i] == 0 )//当是素数的时候开始进行筛选        for (int j = i + i; j <= 100; j = j + i )//j = j + i,直接加i的倍数,注意初始条件            judge[j] = 1;//被筛掉的数置为1    }    //输出1~100所有的素数    for ( int i = 2; i <= 100; i++){        if ( judge[i] == 0 )    cout << i <<" ";     }    return 0;}


0 0
原创粉丝点击