Суть задания написать наибольший простой палиндром не больше N. У меня есть код, но он работает до определенных чисел, а именно после 1900 он всегда выдает 1, где ошибка? Microsoft Visual studio
#include <stdio.h>
int main()
{
int n;              
int con = 0;      
int h;
int d;
int schet = 0;
scanf_s("%d", &h);
if (h <= 100) { // костыль для 100
    printf("%d", 1);
}
for (n = 1; n <= h; n++)
{
    for (d = 2; d < (h / 2); d++)
    {
        if (n % d == 0)
        {
            schet = schet + 1;
        }
    }
    if (schet == 0)
    {                                       //палиндром 
        int reverse = 0;
        int golov = n;
        while (golov != 0)
        {
            reverse = reverse * 10;
            reverse = reverse + golov % 10;
            golov = golov / 10;
        }
        if (n == reverse)
        {
            con = n;
        }
    }
    schet = 0;
 }
 printf("%d", con);
 }