求助
查看原帖
求助
280636
封禁用户楼主2020/6/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;
}

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

2020/6/30 11:40
加载中...