DEV上编译无错,但编译时长很长,交到洛谷上CE然后显示
g++: 编译器内部错误:File size limit exceeded signal terminated program as
请提交一份完整的错误报告,
如有可能请附上经预处理后的源文件。
参阅 <https://gcc.gnu.org/bugs/> 以获取指示。
不知道为什么,求大佬
代码:
#include<iostream>
using namespace std;
int n,ans=1;bool z[100000002]={1,1,0};
int main(){
cin>>n;
if(n<=3){
cout<<n-1;
return 0;
}
for(int i=2;i*i<=n;i++){
if(!z[i])for(int j=i+i;j<=n;j+=i) z[j]=1;
}
for(int i=3;i<=n;i++) if(!z[i]) ans++;
cout<<ans;
}