[C++] 백준 2774 : 별찍기 10

Kim Nahyeong·2022년 1월 14일
0

백준

목록 보기
57/157

#include <iostream>

void star(int i, int j, int N){
    if(i % 3 == 1 && j % 3 == 1){
        printf(" ");
    } else if(N / 3 == 0 || N / 3 == 2){
        printf("*");
    } else {
        star(i/3, j/3, N/3);
    }
}

int main(int argc, char **argv){
    int N;
    scanf("%d",&N);

    for(int i=0; i<N; i++){
        for(int j = 0; j < N; j++){
            star(i, j, N);
        }
        printf("\n");
    }

    return 0;
}

재귀함수는 너무 어렵다. 그저 학습하고 반복해서 연습하는 것이 살 길일 것만 같다...
0과 2의 배수에서는 점을 찍되 i와 j가 3으로 나눠질 때의 나머지가 1이 되는 경우에만 *이 찍히지 않도록 하였다.

0개의 댓글