社区讨论
#9,#10 MLE求解!!
P3912素数个数参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @loceiy16
- 此快照首次捕获于
- 2023/10/30 12:30 2 年前
- 此快照最后确认于
- 2023/11/05 00:10 2 年前
RT
CPP#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;
}
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...