今天看了《编程珠玑 续》很好的一本书,但是也很难懂啊,所以把书中的第一章第二题的答案在电脑上跑了一遍,仔细分析终于明白了。
算法确实精美啊。
算法确实精美啊。
功能就是计算小于n=10000的所有素数,并输出
#include<iostream>
using namespace std;
int main()
{
int i,p,n;
char x[10002];
n=10000;
for(i=1; i<=n; i++)
{
x[i]=i;
}
x[1]=0;
x[n+1]=1;
p=2;
while(p<=n)
{
cout<<p<<" ";
for(i=2*p; i<=n; i=i+p)
{
x[i]=0;
}
do
{
p++;
}
while(x[p]==0);
}
getchar();
}
输出结果
算法这一块儿好难啊,继续学习中~
2016.10.28 北京天气晴朗,阳光明媚,有风,蓝天 :)