-
[17478] 재귀함수가 뭔가요?BOJ 2021. 12. 29. 01:32
https://www.acmicpc.net/problem/17478
17478번: 재귀함수가 뭔가요?
평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대
www.acmicpc.net
<문제>
재귀적으로 잘 출력하면 된다.
입력되는 n이 곧 최대 depth이고, depth*4개의 '_'를 출력해주어야 하는데,
string base="____"처럼 '_' 4개를 넣어두고 d번 반복하여 base를 출력하여 구현해주었다.
<소스코드>
123456789101112131415161718192021222324252627282930313233343536373839#include <bits/stdc++.h>using namespace std;int n;string base = "____";void c(int d) {for (int i = 0; i < d; i++) cout << base;}void f(int d) {if (d == n) {c(d);cout << "\"재귀함수가 뭔가요?\"\n";c(d);cout << "\"재귀함수는 자기 자신을 호출하는 함수라네\"\n";c(d);cout << "라고 답변하였지.\n";return;}c(d);cout << "\"재귀함수가 뭔가요?\"\n";c(d);cout << "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 ""선인이 있었어.\n";c(d);cout << "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 ""대답해 주었지.\n";c(d);cout << "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 ""선비가 찾아와서 물었어.\"\n";f(d + 1);c(d);cout << "라고 답변하였지.\n";return;}int main(void) {cin >> n;cout << "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.\n";f(0);return 0;}cs 'BOJ' 카테고리의 다른 글
[1969] DNA (0) 2021.12.29 [1913] 달팽이 (0) 2021.12.29 [11576] Base Conversion (0) 2021.12.29 [14908] 구두 수선공 (0) 2021.12.28 [16496] 큰 수 만들기 (0) 2021.12.27