已经AC、代码还有个可以优化的地方,你自己看看。
程序代码:
#include <cstdio> #include <cmath> const int maxn = 10010; int cnt[maxn] = {0}; int isPrime(int i); int main() { cnt[0] = cnt[1] = 0; for (int i = 2; i < maxn; i++) { cnt[i] = cnt[i - 1] + isPrime(i); } int a,b; while (scanf("%d%d",&a,&b) == 2) { if (isPrime(cnt[b] - cnt[a - 1])) puts("YES"); else puts("NO"); } return 0; } int isPrime(int i) { if (i <= 1) return 0; int n = floor(sqrt(i) + 0.5); for (int j = 2; j <= n; j++) { if (!(i % j)) return 0; } return 1; }
别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。