#include<bits/stdc++.h>
using namespace std;
void prime(int n)
{
if(n==1||n==2)
{
cout<<n<<endl;
return ;
}
for(int i=3;i<=n;i++)
{
int t=1;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
t=0;
break;
}
}
if(t==1)
{
cout<<i<<endl;
}
}
return;
}
int main()
{
int n;
cin>>n;
cout<<int(sqrt(19))<<endl;
prime(n);
return 0;
}
也可以求到2根号n之间有没有约数有约数这一个约数小于根号n另一个必定大于根号n,这个可以减小时间复杂度,可以自己思考代码实现