最后两个点MLE了
  • 板块P3912 素数个数
  • 楼主Cwling
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/21 12:48
  • 上次更新2023/11/6 19:46:35
查看原帖
最后两个点MLE了
34564
Cwling楼主2020/8/21 12:48
#include <bits/stdc++.h> 
using namespace std;
inline int read()
{
	int r=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9')
	{
		if(c=='-')
		f=-1;
		c=getchar();
	 }
	while(c>='0'&&c<='9')
	r=(r<<1)+(r<<3)+(c^'0'),c=getchar();
	return r*f;
}
int ans;
int p[100005];
int v[100000005];
int main()
{
	int n=read();
	for(int i=2;i<=n;++i)
	{
		if(!v[i])p[++ans]=i;
		for(int j=1;j<=ans&&p[j]*i<=n;++j)
		{
			v[p[j]*i]=1;
			if(i%p[j]==0)
			break;
		}
	}
	cout<<ans;
	return 0;
}
2020/8/21 12:48
加载中...