洛谷题回文质数一直输出0怎么回事

img


洛谷上的题回文质数,输入一个范围ab,输出回文质数,有人帮我看看么,为什么输出全是0,看了好久了,谢谢了

题主考虑的复杂了,以下代码,供参考:

#include <stdio.h>
int isPrime(int n)
{
    int i;
    if (n <= 3) return n > 1;
    for (i = 2; i * i <= n; i++)
        if (n % i == 0) return 0;
    return 1;
}
int isPalindrome(int n)
{
    int tmp = 0, k = n;
    while (k) {
        tmp = tmp * 10 + k % 10;
        k /= 10;
    }
    return tmp == n;
}
int main()
{
    int i, cnt, a, b;
    scanf("%d%d", &a, &b);
    for (i = a, cnt = 0; i <= b; i++)
        if (isPrime(i) && isPalindrome(i))
            printf(++cnt % 10 == 0 ? "%d\n" : "%d ", i);
    if (cnt % 10 != 0) 
        printf("\n");
    printf("%d到%d之间既是回文数又是质数的数有%d个.", a, b, cnt);
    return 0;
}