BOJ/[ BOJ ] C++

[ C++ ]#17478 재귀함수가 뭔가요?

haena02 2023. 3. 3. 00:57
반응형

별로 어려운 문제는 아니다!

 

답변을 "재귀함수는 자기 자신을 호출하는 함수라네" 하는 문구를 기준으로 생각해야한다.

답변 앞에를 출력하고 재귀함수를 부르고 답변뒤에는 출력하면 재귀가 알아서 잘 실행이된다!

 

#include<iostream>

using namespace std;

int n;

void chat(int x) {
	if (x == n) {
		for (int i = 0; i < x; i++) cout << "____";
		cout << "\"재귀함수가 뭔가요?\"\n";
		for (int i = 0; i < x; i++) cout << "____";
		cout << "\"재귀함수는 자기 자신을 호출하는 함수라네\"\n";
		for (int i = 0; i < x; i++) cout << "____";
		cout << "라고 답변하였지.\n";
		return;
	}
	

	for (int i = 0; i < x; i++) cout << "____";
	cout << "\"재귀함수가 뭔가요?\"\n";
	for (int i = 0; i < x; i++) cout << "____";
	cout << "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n";
	for (int i = 0; i < x; i++) cout << "____";
	cout << "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n";
	for (int i = 0; i < x; i++) cout << "____";
	cout << "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"\n";
	
	x = x + 1;
	chat(x--);

	for (int i = 0; i < x; i++) cout << "____";
	if(x==0) cout << "라고 답변하였지.";
	else cout << "라고 답변하였지.\n";
}

int main() {

	cin >> n;
	cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n";
	chat(0);

}

 

 

반응형

'BOJ > [ BOJ ] C++' 카테고리의 다른 글

[ C++ ] #1874 스택수열 ( 실버 II )  (1) 2023.12.26
[ C++ ] #15649 N과 M  (0) 2023.03.06
[ C++ ] #1074 Z  (0) 2023.02.28
[ C++ ] #11729 하노이 탑 이동 순서  (0) 2023.02.24
[ C++ ] #1629 곱셈  (0) 2023.02.17