为什么一直输出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