采取记忆化优化算法
2024-08-06 17:56:15
发布于:江苏
21阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
bool a[20000];
cin>>n;
memset(a,1,sizeof(a));
for(int i=2;i<=n;i++){
if(!a[i]) continue;
else{
for(int j=2;j*j<i;j++){
if(i%j==0) break;
}
a[i]=1;
for(int j=2;j*i<n;j++){
a[j*i]=0;
}
}
}
for(int i=2;i<n;i++){
if(a[i]) cout<<i<<' ';
}
}
这代码哪有问题,怎么有一个就是过不了呢?
全部评论 2
认识我扣1,不认识扣2,谢谢配合!
2024-08-06 来自 浙江
0#include<bits/stdc++.h> using namespace std; int main(){ int n; bool a[20001]; cin>>n; memset(a,1,sizeof(a)); for(int i=2;i<=n;i++){ if(!a[i]) continue; else{ for(int j=2;j*j<=i;j++){ if(i%j==0) break; } a[i]=1; for(int j=2;j*i<=n;j++){ a[j*i]=0; } } } for(int i=2;i<=n;i++){ if(a[i]) cout<<i<<' '; } }
我是**
2024-08-06 来自 江苏
0
有帮助,赞一个