40分求助
查看原帖
40分求助
815613
Yoru_ya_kawaii楼主2022/10/7 13:07
#include <iostream>
bool v[100001] = {0};
int pr[100001];

using namespace std;

int prime(int n)
{
    int cnt = 0;
    for(int i = 2; i <= n; i++)
    {
        if(!v[i])
        {
            pr[cnt++] = i;
            for(int j = 2; j <= n/i; j++)
                v[j*i] = 1;
        }
    }
    return cnt;
}

int main()
{
    int L, end,cnt = 0, sum = 0;
    cin >> L;
    if(L != 1)
    {
        end = prime(L);
        for(int i = 0; i < end; i++)
        {
            if(sum < L)
            {
                sum += pr[i];
                cnt++;
            }
            else
                break;
        }
        for(int i = 0; i < cnt; i++)
            cout << pr[i] << '\n';
        cout << cnt;
    }
    else
        cout << 0;

    return 0;
}
2022/10/7 13:07
加载中...