求助

回复帖子

@LeonXY 作弊者 2020-06-30 11:40 回复
#include <bits/stdc++.h>
using namespace std;
bool prime[100010];
void make() {
    memset(prime,1,sizeof(prime));
    for(int i=2;i<100000;i++) 
        for(int j=i+i;j<100000;j+=i) prime[j]=false;
}
int main(void) {
    int l,ans=1;
    cin>>l;
    for(int i=2;i<=100000;i++) {
        if(prime[i]&&l>=prime[i]) {
            printf("%d\n",i);
            ans++;
            l-=i;
        }
        else if(l<i) break;
    }
    printf("%d",ans);
    return 0;
}

为什么这个代码不行?循环直接就跳出了 求大佬帮助

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。