Robię zadanie na spoju http://pl.spoj.com/problems/BFN1/ i mam bardzo dziwny błąd, otóż każdy pierwszy test wychodzi dobrze a następne wychodzą źle. Np. jeśli najpierw podam 28 to wychodzi mi ładnie 121 ale już na drugi test jak napiszę 68 to wychodzi mi palindrom 929, który z tej liczby nie miał prawa wyjść. Gdy liczby odwrócę to sytuacja się odwraca. Dodatkowo zauważyłem, że jak dam gotowy palindrom np. 5 to wtedy i drugi test wychodzi dobrze (jeśli owy nie jest palindromem) a trzeci już źle. Z racji, że nie można dawać całego kodu, to do opisanej sytuacji dołączę tylko maina
int main() { short t; std::cin>>t; while(t>0) { short licznik=0; int liczba; std::cin>>liczba; while(!is_palindrom(&liczba)) { liczba+=invert(&liczba); licznik++; } std::cout<<liczba<<""<<licznik<<std::endl; t--; } return 0; }
Ktoś wie skąd ma miejsce taka dziwna sytuacja?