Суть задания написать наибольший простой палиндром не больше 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);
}