
#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이 되는 경우에만 *이 찍히지 않도록 하였다.