teď řeším stejné zadání jako ty :D Vše funguje až na to, že nehlídá tu horní mez. respektive hlídá, ale špatně. Jen nevím proč nepropadne podmínkou když součet dvou unsigned long long integerů je větší nebo roven hranici, nebo jedno ze sčítaných čísel je větší rovno horní mezi, tak program neukončí.
typedef unsigned long long int ulli;
int main()
{
ulli vstup, count=0;
int in1;
printf("Zadejte cislo:\n");
in1 = scanf("%llu", &vstup);
if(in1 < 1)
{
printf("Nespravny vstup.\n");
}else
{
ulli n1=0, n2=0;
while(vstup < ULLONG_MAX){
if(check(vstup) == 1) //otestujeme jestli je palindrom
{
printf("Vypocteny palindrom: %llu (iteraci: %i)\n", vstup, count);
return 0;
}else
{
count++;
n1 = vstup;
n2 = rotate(vstup);
if(n1+n2 >= ULLONG_MAX)
{
printf("Palindrom nenalezen.\n");
return 0;
}
vstup = n1 + n2;
}
}
printf("Palindrom nenalezen.\n");
}
return 0;
}