求助本题RE

UVA10140 Prime Distance

```cpp #include <bits/stdc++.h> using namespace std; #define LL long long #define ULL unsigned long long #define PII pair<int, int> #define M(x, y) make_pair(x, y) const int MAXN = 1e6 + 5; bool v[MAXN]; int prime[MAXN], k, prime2[MAXN]; int l, r; void takep(int n) { k = 0; for (int i = 2; i <= n; i++) if (!v[i]) { prime[++k] = i; for (int j = i; j <= n / i; j++) v[i * j] = true; } } int main() { #ifndef ONLINE_JUDGE freopen("1.in", "r", stdin); freopen("1.out", "w", stdout); #endif takep(47000); while (scanf("%d %d", &l, &r) != EOF) { if (l == 1) l++; memset(v, false, sizeof(v)); for (int i = 1; i <= k; i++) for (int j = l / prime[i]; j <= r / prime[i]; j++) v[prime[i] * j - l] = true; int n = 0; for (int i = l; i <= r; i++) if (!v[i - l]) prime2[++n] = i; int ans1 = INT_MAX, ans2 = 0, xx, xy, yx, yy; if (n < 2) { puts("There are no adjacent primes."); continue; } for (int i = 2; i <= n; i++) { if (prime2[i] - prime2[i - 1] < ans1) { ans1 = prime2[i] - prime2[i - 1]; xx = prime2[i - 1], xy = prime2[i]; } if (prime2[i] - prime2[i - 1] > ans2) { ans2 = prime2[i] - prime2[i - 1]; yx = prime2[i - 1], yy = prime2[i]; } } printf("%d,%d are closest, %d,%d are most distant.\n", xx, xy, yx, yy); } return 0; } ```
by liuzimingc @ 2021-09-26 16:31:23


@[liuzimingc](/user/421781) 你这不也是RE?
by qwq___qaq @ 2021-10-13 23:45:52


|