티스토리 뷰
목차
문제
블록 피라미드는 먼저 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;
}
반응형
'C언어' 카테고리의 다른 글
[백준-1001]: A-B(C99)-브론즈5 (0) | 2024.04.21 |
---|---|
[백준-1000]: A+B(C99)-브론즈5 (0) | 2024.04.21 |
[백준-15000]: CAPS(C99)-브론즈5 (0) | 2024.04.21 |
[백준-14581]: 팬들에게 둘러싸인 홍준(C99)-브론즈5 (0) | 2024.04.20 |
[백준-6840]: Who is in the middle?(C99)-브론즈5 (0) | 2024.04.20 |