用筛选法求100以内的素数(数组)


用筛选法求100以内的素数,要求使用数组。


#include "stdafx.h"
#include<iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
int a[100],i,b[100],j,n=0;     //数组a[100]来放用于推断的数,数组b[100]来放素数
for(i=0;i<100;i++)       //注意这里i不能从1開始,由于数组a的首位是a[0]      
{
a[i]=i+1;         //令a[100]中的数是从1到100的
}
for(i=2;i<=100;i++)      //0和1不用推断
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;       //假设i能整除从2到i-1之间随意一个数,那么i就不是素数。跳出循环
}
if(j==i-1)     //假设上述条件一直不成立,那么循环结束后j=i-1。此时i是素数
{
b[n]=i;    
n++;       //将i按顺序放到数组b[100]里
}
}
}


for(i=0;i<n;i++)
{
cout<<b[i]<<endl;    //依次输出数组b里存放的数
}
return 0;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM