입력 받은 두 정수 [a, b) 사이의 홀수만 출력하는 코드를 작성하고, 전개도 작성하기
#include <iostream>
#include "Practice.h"
void FindOddNum(int _StartNum, int _EndNum)
{
if (_StartNum >= _EndNum)
{
return;
}
if (_StartNum % 2 != 0) // 홀수면
{
std::cout << _StartNum << ' ';
}
FindOddNum(_StartNum + 1, _EndNum);
}
int main(void)
{
FindOddNum(2, 7);
return 0;
}
// 전개도
FON(2, 7)
{
if(false)
if (false)
FON(3, 7)
{
if (false)
if (true)
cout(3);
FON(4, 7)
{
if(false)
if(false)
FON(5, 7)
{
if (false)
if (true)
cout(5);
FON(6, 7)
if (false)
if (false)
FON(7, 7)
if (false)
return;
}
}
}
}
<실행 결과>
(추가1)
위 예제로 _EndNum은 홀수여도 포함되지 않는 점 확인됨
_StartNum이 포함되는지 확인하기 위해 _StartNum에 홀수(1)를 넣어서 출력함
-> 출력 결과 이상 없음
[a -> a는 포함
b) -> b는 포함 X
ex) [1,3) -> 1, 2