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