10992号:星を撮る-17


リンク


https://www.acmicpc.net/problem/10992

質問する


一例を見て、ルールを導き出して、星を撮ってください.

入力


第1行はN(1≦N≦100)を与える.

しゅつりょく


1行目からN行目まで順に星を出力します.

入力と出力の例



解法


星を撮る同様の問題と、出力の最後の行は少し違います.
問題の例を見ればわかるが、法則性を見つけることができる.
1番行にはn-1個の外部スペース、2-n-1行にはn-1個の外部スペース、2(i-1)-1個の内部スペースがあります.
ここまでは星を撮っていました-15題と同じですか...n行目はnが1の場合を除き、奇数個を出力し、2 n-1回繰り返して星を撮ればよい.

プールコード

// 10992번 : 별 찍기 - 17

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    // 첫번째 줄
    for (int i = 0; i < n - 1; i++)
    {
        printf(" ");
    }
    printf("*\n");
    // 2 ~ n - 1번째 줄
    for (int i = 2; i < n; i++)
    {
        //외부 공백
        for (int j = 0; j < n - i; j++)
        {
            printf(" ");
        }
        printf("*");
        //내부 공백
        for (int j = 0; j < 2 * (i - 1) - 1; j++)
        {
            printf(" ");
        }
        printf("* \n");
    }
    // n번째 줄
    if (n != 1)
    {
        for (int i = 0; i < 2 * n - 1; i++)
        {
            printf("*");
        }
    }
    return 0;
}