Chcę napisać ten algorytm w c++, ale nie wiem jak ma "zakończyć procedurę" przez co wypisuje "X" w nieskończoność.
Korale(n)
Jeżeli n = 1, to
1.1. nawlecz czarny koralik na prawy koniec sznurka,
1.2. zakończ działanie procedury.Jeżeli n jest parzyste, to
2.1. wykonaj Korale(n/2),
2.2. nawlecz biały koralik na prawy koniec sznurka,
2.3. zakończ działanie procedury.Jeżeli n jest nieparzyste, to
3.1. wykonaj Korale((n-1)/2),
3.2. nawlecz czarny koralik na prawy koniec sznurka,
3.3. zakończ działanie procedury.
#include <iostream>
using namespace std;
int x=0;
int Korale(int n){
if (n=1) cout << "X";
if (n%2==0){
Korale(n/2);
cout << "X";
}
if (n%2!=0){
Korale(n-1/2);
cout << "O";
}
}
int main()
{
cin >> x;
Korale(x);
return 0;
}