코드업의 콜라츠 추측 문제(1928)를 거꾸로 출력되게 하고, 전개도 작성하기
#include <iostream>
#include "Practice.h"
void Recursive(int _Num)
{
if (_Num == 1)
{
return;
}
else if (_Num % 2 == 0)
{
Recursive(_Num / 2);
std::cout << (_Num / 2) << '\n';
}
else
{
Recursive((_Num * 3) + 1);
std::cout << (_Num * 3) + 1 << '\n';
}
}
void Print(int _Num)
{
Recursive(_Num);
std::cout << _Num;
}
int main(void)
{
Print(5);
return 0;
}
// 전개도
P(5)
{
R(5)
{
R(16)
{
R(8)
{
R(4)
{
R(2)
{
R(1)
{
return;
}
cout(1);
}
cout(2);
}
cout(4);
}
cout(8);
}
cout(16);
}
cout(5);
}
<실행 결과>