素数打表
常规算法/*素数打表 获得10000内所有的素数*/#include#include #includeusing namespace std;//存储素数表,0为素数 1 为合素int prime[10000],oriPrime[10000],len = 0;//素数打表void fun();//打印函数void print(int t);int main(){ fun(); for_each(oriPrime,oriPrime+20,print);}void fun(){ //全数组全部置0全为素数 memset(prime,0,sizeof(prime)); //初始化前三位 prime[0] = 1,prime[1] = 1,prime[2] = 0; for(int i = 2;i < 10000;i++) { //如果是质素 不管它 if(prime[i]) { //将i保存 continue; } //其他和数 及去掉倍数 for(int j = 2;j*i < 10000;j++) { prime[i*j] = 1; } oriPrime[len++] = i; }}void print(int t){ cout << t << " ";}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~