Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그램으로 플로이드의 삼각형(정수) 출력하는 방법

플로이드의 삼각형(Floyd's Triangle)은 왼쪽 상단 모서리에서 1부터 시작하여 연속된 자연수를 직각삼각형 형태로 배열한 것입니다.

예를 들어 다음과 같은 형태입니다.

1
2 3
4 5 6
7 8 9 10

예제 1: 기본 플로이드의 삼각형 출력

아래 C 프로그램은 사용자로부터 행(row)의 개수를 입력받아, 이중 for문을 활용해 각 행마다 숫자가 하나씩 늘어나는 형태로 연속된 정수를 출력합니다.

#include <stdio.h>
int main(){
    int rows, i,j, start = 1;
    printf("Enter no of rows of Floyd's triangle :");
    scanf("%d", &rows);
    for (i = 1; i <= rows; i++){
        for (j = 1; j <= i; j++){
            printf("%d ", start);
            start++;
        }
        printf("\n");
    }
    return 0;
}

실행 결과

Enter no of rows of Floyd's triangle :6
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21

예제 2: 역방향 플로이드의 삼각형 출력

다음 프로그램은 숫자를 큰 값부터 작은 값 순서로 배치하여 뒤집힌(역방향) 플로이드의 삼각형을 출력합니다. 총 숫자 개수는 n×(n+1)/2 공식으로 계산하며, 마지막 숫자부터 차례대로 감소시키면서 출력합니다.

#include<stdio.h>
int main() {
    int num, i, j;
    printf("Enter number of rows: ");
    scanf("%d",&num);
    int k = num*(num+1)/2;
    for(i=num; i>=0; i--) {
        for(j=1; j<=i; j++)
        printf("%4d",k--);
        printf("\n");
    }
    return 0;
}

실행 결과

Enter number of rows: 7
28 27 26 25 24 23 22
21 20 19 18 17 16
15 14 13 12 11
10 9 8 7
6 5 4
3 2
1

핵심 포인트 정리

  • 기본형: 바깥 반복문은 행을 제어하고, 안쪽 반복문은 해당 행에 출력할 숫자의 개수를 결정합니다.
  • 역방향: n×(n+1)/2로 마지막 숫자를 구한 뒤, 행을 거꾸로 순회하며 값을 감소시키며 출력합니다.
  • %4d 서식 지정자: 숫자를 네 자리 폭으로 정렬해 삼각형 모양이 깔끔하게 유지됩니다.