大佬去助^(* ̄(oo) ̄)^

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

为什么一直输出2
by W_churchill @ 2020-03-22 23:05:29


i的定义放while循环外
by andyli @ 2020-03-22 23:06:12


啊,好了
by W_churchill @ 2020-03-22 23:17:00


@[andyli](/user/84282) 不过为什么总个数和多了一个
by W_churchill @ 2020-03-22 23:17:41


@[Qinclude](/user/224791) 这种情况就凑数,没准是多算了(滑稽.jpg)
by BlueSu @ 2020-03-22 23:57:54


@[Qinclude](/user/224791) ```cpp cout<<n-1<<endl;//输出总个数 ```
by BlueSu @ 2020-03-22 23:58:22


@[BlueSu](/user/232887) ``` ``` #include<bits/stdc++.h> using namespace std; bool prime(int x) { int y=sqrt(ceil(x)); for(int i=2;i<=y;i++) if(x%i==0) return false; return true; } int main() { int sum,s=0,n=0; cin>>sum; int i=2; while(s<sum) { if(prime(i)==true) { s+=i; n++; cout<<i<<endl; } i++; } cout<<n<<endl; return 0; } ``` 为什么20分了
by W_churchill @ 2020-03-23 10:31:12


@[Qinclude](/user/224791) ```cpp for(int i=2;i*i<=n;i++) ``` 您改一下这里
by BlueSu @ 2020-03-23 10:34:49


@[Qinclude](/user/224791) ```cpp #include<bits/stdc++.h> using namespace std; bool prime(int x) { for(int i=2;i*i<=x;i++) if(x%i==0) return false; return true; } int main() { int sum,s=0,n=0; cin>>sum; int i=2; while(s<sum) { if(prime(i)==true) { s+=i; n++; cout<<i<<endl; } i++; } cout<<n<<endl; return 0; } ```
by BlueSu @ 2020-03-23 10:36:41


@[Qinclude](/user/224791) ```cpp #include <bits/stdc++.h> using namespace std; bool zs(int n){ for(int i=2;i*i<=n;i++){ if(n%i==0){ return false; } } return true; } int main(){ int n,cnt=0,ans=0; cin>>n; for(int i=2;i;i++){ if(zs(i)&&cnt+i<=n){ cout<<i<<endl; cnt+=i; ans++; }else if(cnt+i>n){ cout<<ans<<endl; break; } } return 0; } ``` AC↑
by BlueSu @ 2020-03-23 10:38:46


| 下一页