온라인저지
[BOJ] 2447번: 별찍기 - 10
plzfday
2018. 5. 15. 00:44
풀이
규칙성을 찾는 수 밖에 없는데 대개 한 칸 빈칸은 쉽게 찾을 수 있을텐데 큰 빈칸을 찾는 게 어려울 수 있다.
이것은 표를 그려보면 쉽게 알 수 있는데 n=9일 때를 그려보면 '나누기 3의 몫’이 1인 구간만 빈칸인 것을 알 수 있다.
코드
#include <cstdio>
int n;
int main()
{
scanf("%d", &n);
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
int dx = i, dy = j;
while (dx)
{
if (dx % 3 == 1 && dy % 3 == 1)
break;
dx /= 3, dy /= 3;
}
putchar(dx ? ' ' : '*');
}
puts("");
}
return 0;
}