1 条题解

  • -1
    @ 2025-7-7 23:15:00
    #include<bits/stdc++.h>
    #define max 100001
    using namespace std;
    int ct=0,fg[max]={},prim[max]={};
    void getprim(int n){
        fg[0]=fg[1]=true;
        for(int i=2;i<=n;++i){
            if(!fg[i]){
                prim[++ct]=i;
                for(int j=2*i;j<=n;j+=i){
                    fg[j]=true;
                }
            }
        }
    }
    
    int main(){
        getprim(max-1);
        int l,sm=0,ctt=0;
        cin>>l;
        // cout<<l<<endl;
    
        for(int i=1;sm<=l;++i){
            // cout<<"sm+prim:"<<sm<<' '<<prim[i]<<endl;
            if(sm+prim[i]<=l){
            cout<<prim[i]<<endl;
            ctt++;            
            }
            sm+=prim[i];
        }
        cout<<ctt<<endl; 
        return 0;
    }
    
    • 1

    信息

    ID
    9745
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    (无)
    递交数
    29
    已通过
    23
    上传者