求助,5个点迷之 RE
查看原帖
求助,5个点迷之 RE
367168
Joker_1212楼主2022/7/12 07:56

源码如下:

/* By @Joker_1212 */
#include <bits/stdc++.h>
#define ull unsigned long long
#define ll long long
#define maxn 20000
using namespace std;

int is_primer[maxn + 5], primer[maxn / 10 * 8 + 5], cnt = 0;

void pre()
{
    for (int i = 0; i <= maxn; ++i)
        is_primer[i] = 1;
    is_primer[0] = is_primer[1] = 0;
    for (int i = 2; i <= maxn; ++i)
    {
        if (is_primer[i])
            primer[cnt++] = i;
        for (int j = 0; j < cnt && i * primer[j] <= maxn; ++j)
        {
            is_primer[i * primer[j]] = 0;
            if (i % primer[j] == 0)
                break;
        }
    }
}

int main()
{
#ifdef LOCAL
    freopen("./in.in", "rb", stdin);
#endif
    pre();
    int n;
    scanf("%d", &n);
    for (int i = 0; i < cnt; ++i)
        for (int j = i; j < cnt; ++j)
            if (is_primer[n - primer[i] - primer[j]] && (n - primer[i] - primer[j]) >= primer[j])
                return printf("%d %d %d", primer[i], primer[j], n - primer[i] - primer[j]) & 0;
}

结果5个点 RE,错误信息都是 Segmentation fault with invaild memory reference,求调

2022/7/12 07:56
加载中...