정수 2개(from[1~20], to[1~20])를 인자로 전달 받아,
from부터 to까지의 누접합을 반환하는 재귀 함수와 전개도 작성하기
#include <iostream>
#include "Practice.h"
int AddNum(int _StartNum, int _EndNum)
{
if ((_StartNum < 0 || _EndNum < 0) ||
(_StartNum > 20 || _EndNum > 20))
{
return -1;
}
if (_StartNum == _EndNum)
{
return _EndNum;
}
return _StartNum + AddNum(_StartNum+1, _EndNum);
}
int main(void)
{
std::cout << AddNum(1, 5);
return 0;
}
// 전개도
AN(1, 5)
{
if (false)
if (false)
1 + [AddNum(2, 5) = 14]
{
if(false)
if(false)
2 + [AddNum(3, 5) = 12]
{
if(false)
if(false)
3 + [AddNum(4, 5) = 9]
{
if(false)
if (false)
{
4 + [AddNum(5,5) = 5]
if(false)
if (true)
{
return 5
}
}
}
}
}
}
// TTL return 15
<실행 결과>