上机内容:用筛选法求1000之内的素数。
上机目的:学习筛选法与数组。
上机目的:学习筛选法与数组。
我的程序:
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int i,j,n,a[1001];
for(i=1;i<=1000;i++)
a[i]=i;
a[1]=0;
for(i=2;i<sqrt(1000);i++)
for(j=i+1;j<=1000;j++)
{
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
cout<<endl;
for(i=1,n=0;i<=1000;i++)
{
if(a[i]!=0)
{
cout<<setw(5)<<a[i]<<" ";
n++;
}
if(n==10)
{
cout<<endl;
n=0;
}
}
cout<<endl;
return 0;
}运行结果:
体会总结:首先要知道这个算法,其次就知道怎么样去写程序,写每个程序都得考虑有效的算法。
本文介绍了一种使用筛选法寻找1000以内的所有素数的C++程序实现方法。该程序首先初始化一个包含1到1000的数组,然后通过迭代删除非素数来筛选出素数。

被折叠的 条评论
为什么被折叠?



