POST

백준 2447번 별 찍기 -10 [C언어]

이 문제 레전드다.

https://cryptosalamander.tistory.com/38

 

[백준 / BOJ] - 2447번 별 찍기 -10 C++ 풀이

백준 - 단계별로 풀어보기 [2447] https://www.acmicpc.net/problem/2447 문제 위 그림과 같은 규칙성을 가지는 프렉탈 도형에서, 3의 제곱수인 임의의 값 N을 입력받았을 때, N*N의 그림을 재귀적으로 출력하

cryptosalamander.tistory.com

이 블로그를 참고하지 못했다면 절대 못 풀었다.

#include <stdio.h>

#pragma warning(disable: 4996)
int star(int i,int j, int n) {
	if ((i / n) % 3 == 1 && (j / n) % 3 == 1) {
		printf(" "); //어쨋든 n이 3이 될 때까지 나눠서 조건에 넣음
	}
	else{
		if (n / 3 == 0) // 가장 작은 단위가 위 조건에 불합이면 별 찍음
			printf("*");
		else
			star(i, j, n / 3); // 재귀적으로 최소 단위로 나눠줌.
	}
}
int main() {
	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"); // 한 행을 다 수행하면 줄 바꿈
	}
}