oj 1311
提示:前缀和,素数,会文数
和之前的题一样,不懂的就看看之前的题。。。。。。属于不用动脑子的题
#include <stdio.h>
int isPrime(int x) {
if (x == 1) return 0;
for (int i = 2; i * i <= x; ++i)
if (x % i == 0)
return 0;
return 1;
}
int isPalindrome(int x) {
int len = 0, s[12] = {0};
while (x > 0) {
s[++len] = x % 10;
x /= 10;
}
for (int i = 1; i <= len; ++i)
if (s[i] != s[len - i + 1])
return 0;
return 1;
}
#define ok(x) ((isPalindrome(x) && isPrime(x)) ? 1 : 0)
int f[10003];
int main() {
for (int i = 1; i <= 10000; ++i)
f[i] = f[i - 1] + ok(i);
int T, l, r;
scanf("%d", &T);
while (T--) {
scanf("%d %d", &l, &r);
printf("%d\n", f[r] - f[l - 1]);
}
return 0;
}