별 찍기 3 (재귀)


답안 제출

Points: 5
시간 제한: 2.0s
메모리 제한: 1G

문제 유형
허용된 언어
C++

첫째 줄에는 별 *을 한 개, 둘째 줄에는 세 개, 셋째 줄에는 다섯 개와 같이 별의 개수를 두 개씩 늘려 출력하려고 한다. 각 줄의 별은 전체 너비 \(N\)을 기준으로 가운데에 놓인다.

아래 프로그램의 // 이 부분에 코드를 작성한다. 부분을 완성하여라. 함수 f는 재귀 호출을 이용해 별을 출력해야 한다.

미리 작성된 코드

#include <stdio.h>

char s[102];
int n;

void f(int k){
    // 이 부분에 코드를 작성한다.
}

int main() {
    scanf("%d", &n);
    f(n / 2);
}

제출 방법

// 이 부분에 코드를 작성한다.에 들어갈 함수 본문의 코드만 제출한다.

void f(int k)를 다시 작성하거나 함수의 여는 중괄호와 닫는 중괄호를 제출하지 않는다. 입력을 받는 코드와 main 함수도 제출하지 않는다.

입력

첫째 줄에 자연수 \(N\)이 주어진다.

출력

총 \((N+1)/2\)개의 줄을 출력한다.

\(i\)번째 줄에는 앞에 공백을 \((N-(2i-1))/2\)개 출력한 뒤, 별 *을 \(2i-1\)개 출력한다.

각 줄의 마지막 별 뒤에는 공백을 출력하지 않는다.

제한

  • \(1 \le N \le 99\)
  • \(N\)은 홀수이다.

예제 입력

5

예제 출력

  *
 ***
*****

코멘트

현재 작성된 코멘트가 없습니다.