초기 네이버 기록/알고리즘(C)

백준 재귀함수가 뭔가요?17478번(C++)

뜨거운 개발자 2023. 1. 3. 23:52

백준 17478번 자꾸 argc argv로 풀려다가 틀렸었다....

#include<iostream>
#include<cstdlib>
void    recur(int i,int n)
{
        if (i == n+1)
        {
                return;
        }
        if (i == 0)
                std::cout<<"어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다."<<std ::endl;
        for (int k = 0; k < 4*i; k++)
                std::cout << "_";
        std::cout<<"\"재귀함수가 뭔가요?\"" <<std::endl;
        if (i == n)
        {
                for (int k = 0; k < 4*i; k++)
                        std::cout << "_";
                std::cout<<"\"재귀함수는 자기 자신을 호출하는 함수라네\""<<std::endl;
        }
        if (i != n)
        {
                for (int k = 0; k < 4*i; k++)
                        std::cout << "_";
                std::cout<<"\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어."<<std::endl;
                for (int k = 0; k < 4*i; k++)
                        std::cout << "_";
                std::cout<<"마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지."<<std::endl;
                for (int k = 0; k < 4*i; k++)
                        std::cout << "_";
                std::cout<<"그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\""<<std::endl;
        }
        recur(i+1,n);
        for (int k = 0; k < 4*i; k++)
                std::cout << "_";
        std::cout<<"라고 답변하였지."<<std::endl;
}

int main(int argc, char *argv[])
{
        if (argc == 2)
        {
                recur(0,atoi(argv[1]));
        }
}
728x90