Cześć,
Zająłem się ostatnio zadaniem z SPOJ "Zabawne dodawanie Piotrusia". link: https://pl.spoj.com/problems/BFN1/
Pomimo, że wyniki są poprawne wyskakuje błąd wykonania(SIGSEGV). Oto mój kod. Nie wiem czy błąd znajduje się w nim czy też nie.
#include <iostream>
using namespace std;
int t, n, licznik;
int rev(int number)
{
int result = 0;
do
{
result = result * 10 + number % 10;
}while (number /= 10);
return result;
}
int wykonaj(int x)
{
int pal = rev(x); // pal = palindrom x
if(x == pal) return x;
licznik++;
x += pal;
wykonaj(x); //rekurencja
}
int main()
{
cin >> t;
while(t--)
{
cin >> n;
licznik =0;
cout << wykonaj(n) << " " << licznik << "\n"; //pokaz wynik
}
}