#9,#10 MLE求解!!
查看原帖
#9,#10 MLE求解!!
461740
XiRealina楼主2021/4/24 16:55

RT

#include<bits/stdc++.h>
using namespace std;
int V[50000010],prime[50000010];
void primes(int n)
{
	int m=0;
	for(int i=2;i<=n;i++)
	{
		if(V[i]==0)
		{
			V[i]=i;
			prime[++m]=i;
		}
		for(int j=1;j<=m;j++)
		{
			if(V[i]<prime[j]||prime[j]>n/i) break;
			V[i*prime[j]]=prime[j];
		}
	}
	
}
int main()
{
	int n,r=1;
	cin>>n;
	if(n==1) cout<<"0";
	else
	{
		primes(n);
		while(prime[r++]<=n&&prime[r]!=0);
		cout<<r-1;
	}
}
2021/4/24 16:55
加载中...