본문 바로가기
PS/BOJ

[백준] 17478. 재귀함수가 뭔가요?(c++)

by backend 개발자 지망생 2025. 3. 11.

https://www.acmicpc.net/problem/17478

재귀함수가 뭘까...?

 


#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <limits.h>
#include <queue>
#include <set>
#include <math.h>
#include <stack>
#include <deque>
#include <string.h>

using namespace std;


int cnt = 0, n;

void recursion(int cnt) {
    string temp = "";
    for (int i = 0; i < 4 * cnt; i++) {
        temp += '_';
    }

    if (cnt == n) {
        cout << temp + "\"재귀함수가 뭔가요?\"\n";
        cout << temp + "\"재귀함수는 자기 자신을 호출하는 함수라네\"\n";
        cout << temp + "라고 답변하였지.\n";
        return;
    }

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

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);


    cin >> n;

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

    recursion(cnt);

    return 0;
}

 

'PS > BOJ' 카테고리의 다른 글

[백준] 벽 부수고 이동하기 3(c++)  (0) 2025.03.14
[백준] 2146. 다리 만들기(c++)  (0) 2025.03.11
[백준] 2573. 빙산(c++)  (0) 2025.03.11
[백준] 9466. 텀 프로젝트(c++)  (0) 2025.03.11
[백준] 2206. 벽 부수고 이동하기(c++)  (0) 2025.03.11