티스토리 뷰

C언어

[백준-5341]: Pyramids(C99)-브론즈 5

문화택시 2024. 4. 20. 12:08

목차



     문제

    블록 피라미드는 먼저 n개의 블록으로 구성된 기본 레이어를 구축한 후 
    다음 레이어에 n-1개의 블록을 추가하여 구성됩니다. 
    이 과정은 최상위 레이어에 블록이 하나만 있을 때까지 반복됩니다. 
    밑면의 크기를 고려하여 피라미드를 구성하는 데 필요한 블록 수를 계산해야 합니다. 
    예를 들어 밑면 크기가 4인 피라미드에는 총 10개의 블록이 필요합니다.

    입력

    입력은 한 줄에 하나씩 정수 시퀀스가 ​​됩니다. 
    입력의 끝은 정수 0으로 표시되며 피라미드의 밑면을 나타내지 않습니다. 
    마지막(0)을 제외한 모든 정수는 양수입니다.

    출력

    각 양의 정수에 대해 지정된 밑면을 사용하여 피라미드를 만드는 데 필요한 총 블록 수를 인쇄합니다.

    ※내용정리

    "맨 위에서부터 1,2,3,4....순서대로 밑으로 순서를 정할때 그 크기를 구하라!"

     

    ※필요한 배경지식

    피라미드 크기 계산을 위한 이중 반복문의 활용과

    마지막의 출력을 0으로 끝나기위한 조건문의 활용을 알고 있으면 쉽게 해결할 수 있다.

     

                                                                       

    #include<stdio.h>
    int main() {
        int N;
        int sum;
        while (1) {
            sum = 0;
            scanf("%d", &N);
            if (N == 0)
                return 0;
            for (int i=1;i<=N;i++) {
                sum = sum + i;
           }
            printf("%d\n", sum);
        }
        return 0;
    }

     

    반응형