求助神犇!2个WA和3个TLE!

P5723 【深基4.例13】质数口袋

是啊 窝不知道哪里错了啊【抓狂……】
by Kmst_Ayaka @ 2020-05-30 15:49:22


```cpp #include <cstdio> #include <cmath> int n,sum,ans,s,a[100001]; bool f(int x) { int y=sqrt(x); for(int i=2;i<=y;i++) { if(x%i==0) return 0; } return 1; } int main() { scanf("%d",&n); s=1; while(sum<=n) { s++; if(f(s)) { sum+=s; a[++ans]=s; } } for(int i=1;i<ans;i++) printf("%d\n",a[i]); printf("%d\n",ans-1); return 0; } ``` 您看看我的代码
by CCCloud @ 2020-05-30 15:49:30


好的,谢谢
by Kmst_Ayaka @ 2020-05-30 15:50:30


@[喔喔喔](/user/214638) ```cpp #include<bits/stdc++.h> using namespace std; int n,s,t,a,st; int main() { cin>>n; for(int i=1;;i++) { for(int j=1;j<=i;j++) if(i%j==0)t++; if(t==2) { if(a+i<=n) { cout<<i<<endl; a+=i; } else { cout<<s<<endl; return 0; } s++; } t=0; } return 0; } ``` 我改了你一下你的代码
by CCCloud @ 2020-05-30 15:52:27


好的,我再看看,谢谢
by Kmst_Ayaka @ 2020-05-30 15:55:45


```cpp #include<bits/stdc++.h> using namespace std; int n,s,t,a,st; int main() { cin>>n; for(int i=1;;i++) { for(int j=1;j<=i;j++) if(i%j==0)t++; if(t==2) { if(a+i<=n)cout<<i<<endl,a+=i; else break; s++; } t=0; } cout<<s; return 0; } ``` 我自己也改了一下,AC了。 谢谢您的更正
by Kmst_Ayaka @ 2020-05-30 15:58:15


```using namespace std;```
by xiaozengXZ @ 2020-05-30 16:39:00


上一页 |