문제풀이
재귀함수의 기본을 이용하여 풀 수 있는 문제임.
1) 재귀 함수 내 if와 return문으로 '정지'하는 조건 설정
2) 재귀 함수에 적절한 인자를 넣어서 호출
이 문제는 a와 b가 주어지므로 a를 하나씩 올려가면서 a가 홀수일 때 출력하면 됨.
그리고 마지막 숫자인 b와 같아졌을 때 판별하고 재귀 함수를 멈추면 됨.
소스코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int a, b;
void recursive(int x, int y)
{
if (x==y)
{
if (x%2!=0)
{
cout<<x<<" ";
}
return;
}
else
{
if (x%2!=0)
{
cout<<x<<" ";
}
recursive(x+1, y);
}
}
int main()
{
cin>>a>>b;
recursive(a, b);
return 0;
}
'C C++ > C C++ 알고리즘 문제 기타' 카테고리의 다른 글
[C/C++] 코드업 1916 : (재귀함수) 피보나치 수열 (Large) (0) | 2022.10.08 |
---|---|
[C/C++] 코드업 1915 : (재귀함수) 피보나치 수열 (0) | 2022.10.08 |
[C/C++] 코드업 1902 : (재귀 함수) 1부터 n까지 역순으로 출력하기 (0) | 2022.10.04 |
[C/C++] 코드업 1901 : (재귀 함수) 1부터 n까지 출력하기 (0) | 2022.10.04 |
[C/C++] 마라톤 (1) | 2022.09.28 |
댓글