본문 바로가기

카테고리 없음

2447 별 찍기 - 10

ㅋㅋㅋ

ㅋㅋ

ㅋㅋㅋㅋ

아니

이 무슨 해괴한 문제냐고

아악

 

 

시도 1

void    search(int i)
{
    if (i == 1)
    {
        printf("***\n");
        return ;
    }
    if (i == 2)
    {
        printf("* *\n");
        return ;
    }
    if (i == 3)
    {
        printf("***\n");
        return ;
    }
    search(i - 1);
    search(i - 2);
    search(i - 3);
}

int     main()
{
    int i;
    
    scanf("%d", &i);
    search(i);
    return (0);
}

 

음... 출력해보니 아닌 것 같다.

 


시도 2

#include <iostream>

using namespace std;

void    search(int n)
{
    if (n == 1)
    {
        printf("*");
        return ;
    }
    for (int i = 0; i < n; i++)
        search(n/3);
    printf("\n");
    
    search(n/3);
    printf(" ");
    search(n/3);
    printf("\n");
    
    for (int i = 0; i < n; i++)
        search(n/3);
    printf("\n");
}

int     main()
{
    int i;
    
    scanf("%d", &i);
    search(i);
    return (0);
}

9 넣었더니 이상하게 나온다


시도 3

ㅋㅋㅋ 도저히 몰라서 힌트 받아왔다. 

일단 한 번에 출력하는 건 불가능해서 배열에 저장한 뒤 출력하는 걸로