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

C 언어로 자연수를 열 단위 패턴으로 출력하는 프로그램


프로그램 개요

이 글에서는 C 언어의 이중 반복문(for loop)을 활용하여 자연수를 다음과 같이 열 단위(column-wise) 삼각형 패턴으로 출력하는 방법을 알아봅니다. 중첩 반복문과 규칙적인 증가 공식만 이해하면 누구나 쉽게 구현할 수 있는 대표적인 패턴 출력 문제입니다.

1
2 6
3 7 10
4 8 11 13
5 9 12 14 15

알고리즘

패턴의 규칙을 먼저 파악하면 코드 작성이 훨씬 수월합니다. 핵심 로직은 다음과 같습니다.

  • i는 행(row)을, j는 열(column)을 나타냅니다.
  • 숫자 5는 5행 5열 크기의 패턴을 만들기 위한 기준값입니다.
  • 각 행(i)에 대해 반복문을 실행합니다.
  • 변수 k는 현재 행 번호인 i 값으로 초기화합니다.
  • 각 열(j)마다 현재 값 k를 화면에 출력합니다.
  • 출력 후에는 k = k + 5 - j 공식으로 값을 갱신하여 같은 열의 다음 행에 들어갈 숫자를 계산합니다.

예제 코드

/* 자연수를 열 단위로 출력하는 C 프로그램 */
#include<stdio.h>
int main(){
    int i,j,k;
    printf("Printing the Numbers in Columns wise: ");
    printf("\n");
    printf("\n");
    for(i=1;i<=5;i++){
        k = i;
        for(j=1;j<=i;j++){
            printf("%d ", k);
            k += 5-j;
        }
        printf("\n");
    }
    getch();
    return 0;
}

코드 동작 원리

바깥쪽 반복문은 행을 결정하고, 안쪽 반복문은 그 행에 출력될 숫자의 개수를 결정합니다. 예를 들어 첫 번째 행(i=1)에서는 k가 1로 시작해 하나의 숫자만 출력되고, 두 번째 행(i=2)에서는 k가 2로 시작한 뒤 매번 5-j(첫 번째 열에서는 4, 두 번째 열에서는 3)만큼 증가하여 2, 6이 차례대로 출력됩니다. 이런 식으로 값이 오른쪽으로 갈수록 점점 더 큰 폭으로 증가하기 때문에 위와 같은 대각선 패턴이 완성됩니다.

실행 결과

프로그램을 컴파일하여 실행하면 아래 이미지와 같이 5개 행에 걸쳐 열 단위로 정렬된 자연수 패턴이 출력됩니다.

C 언어로 자연수를 열 단위 패턴으로 출력하는 프로그램