#include <iostream>
using namespace std;
int ASSX(int n,int *prime,bool *is_prime)
{
int i=2,c=0,j;
is_prime[0]=is_prime[1]=false;
for(i=2;i <=n;i++)
{
if(is_prime[i])
{
prime[c++]=i;
for(j=2*i;j<=n;j=j+i) //找倍数
{
is_prime[j]=false;
}
}
}
return c;
}
int main()
{
int prime[10000];
bool is_prime[10000];
int c,i;
int n;
cin >>n;
cout <<prime[i]<<endl;
return 0;
}
#include <cstring>
int ASSX(int n,int *prime,bool *is_prime)
{
int i=2,c=0,j;
memset(is_prime,true,sizeof(int )*10000); //给is_prime[ ]数组全部赋为true值
//memset 函数头文件件<cmemory>或<cstring>, memset(首地址,替换体, sizeof(数据类型)*数量);
is_prime[0]=is_prime[1]=false;
for(i=2;i <=n;i++)
{
if(is_prime[i])
{
prime[c++]=i;
for(j=2*i;j<=n;j=j+i) //找倍数
{
is_prime[j]=false;
}
}
}
return c;
}
int main()
{
int prime[10000];
bool is_prime[10000];
int c,i;
int n;
cin >>n;
c=ASSX(n,prime,is_prime);
for(i=0;i <c;i++)cout <<prime[i]<<endl;
return 0;
}