Próbowalem napisać algorytm rozwiązujący problem flawiusza poprzez rekurencje, niestety coś sie psuje w programie i podczas uruchomiania konsola sie zacina (rekurencja prawdopodobnie biegnie w nieskończoność), czy mógłby mi ktoś wskazać w czym tkwi problem?
#include <iostream>
using namespace std;
void f1(int count, int * tab, int alive)
{
if ( tab[count % 40] != 0 && count % 3 == 0 )
{
tab[count % 40] = 0;
alive--;
}
if ( alive > 2)
{
f1(count ++,tab,alive);
}
}
int main()
{
int * tab = new int[41];
for (int i = 0; i < 41; i ++)
{
tab[i] = i + 1;
}
f1(0,tab,41);
for (int i = 0; i < 41; i ++)
{
cout << tab[i] << " ";
}
system("pause");
return 0;