알고리즘/백준
[백준] 2446 별 찍기 - 9 (C언어)
hoony_
2020. 3. 23. 17:10
반응형
이 문제의 예시는 숫자 5를 입력했을 때 처음에 별이 9개가 출력되고 홀수 간격으로 7, 5, 3, 1 개수의 별이 출력이 되며 다시 홀수 간격으로 증가한다.
이 부분을 보고 임의의 숫자를 입력했을 때 처음 별은 몇 개를 출력해야하는지 규칙을 찾아보는 방법은 아래와 같이 하였다.
표를 보고 알게된 규칙은 처음 출력되는 별의 개수가 입력한 숫자 * 입력한 숫자 - 1 이라는 것이다. 다음은 구현한 코드이다.
/*
* Author : Jeonghun Cho
* Date : March 23, 2020
*/
#include <stdio.h>
int main() {
int inputNumber;
scanf("%d", &inputNumber);
int star = inputNumber * 2 - 1;
for(int i=0; i<inputNumber; i++){
for(int j=0; j<i; j++){
printf(" ");
}
for(int k=0; k<star; k++){
printf("*");
}
star -= 2;
printf("\n");
}
star = 3;
for(int i=inputNumber-2; i>=0; i--){
for(int j=0; j<i; j++){
printf(" ");
}
for(int k=0; k<star; k++){
printf("*");
}
star += 2;
printf("\n");
}
return 0;
}
\
|
반응형