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

C 언어로 N번째 항까지 펜타토프 수를 출력하는 프로그램

프로그램 개요

펜타토프 수(Pentatope Number)는 파스칼 삼각형에서 1, 4, 6, 4, 1로 시작하는 다섯 항짜리 행의 다섯 번째 칸에 위치한 수를 의미합니다. 왼쪽에서 오른쪽으로 읽든 오른쪽에서 왼쪽으로 읽든 동일한 값이 되며, 4차원 단체(simplex)의 꼭짓점 개수를 나타내는 조합수이기도 합니다.

펜타토프 수열의 첫 번째 항들은 다음과 같습니다.

1, 5, 15, 35, 70, 126, 210, 330, 495, 715, 1001, 1365

펜타토프 수는 규칙적인 이산 기하학적 패턴으로 표현할 수 있는 도형수(figurate number) 계열에 속합니다. n번째 펜타토프 수를 구하는 공식은 다음과 같습니다.

$$\binom{n+3}{4}=\frac{n(n+1)(n+2)(n+3)}{24}$$

즉, 연속된 네 자연수의 곱을 4!(=24)로 나눈 값이 바로 n번째 펜타토프 수입니다.

알고리즘

  1. 사용자로부터 구하고자 하는 N번째 항을 입력받습니다.
  2. 공식 n(n+1)(n+2)(n+3)/24를 이용해 해당 항의 펜타토프 수를 계산합니다.
  3. 반복문을 활용하여 1항부터 N항까지 모든 펜타토프 수를 차례대로 출력합니다.

예제 코드

/* N번째 항까지 펜타토프 수를 출력하는 C 프로그램 */
#include <stdio.h>

int main() {
    int n, n1, nthterm, nthterm1, i;

    printf("\n Please enter the nth term to print Pentatope: ");
    scanf("%d", &n);

    /* n번째 펜타토프 수 계산 */
    nthterm = n * (n + 1) * (n + 2) * (n + 3) / 24;
    printf("The Pentatope Number is: %d\n\n", nthterm);

    printf("Printing the Pentatope Numbers upto Nth Term");
    printf("\n Print Pentatope Numbers till the term: ");
    scanf("%d", &n1);

    printf("\nThe Pentatope Numbers are:\n\n");
    for (i = 1; i <= n1; i++) {
        nthterm1 = i * (i + 1) * (i + 2) * (i + 3) / 24;
        printf("%d\t", nthterm1);
    }

    return 0;
}

실행 결과

예를 들어 10을 입력하면 아래와 같이 1번째 항부터 10번째 항까지의 펜타토프 수가 탭으로 구분되어 순서대로 출력됩니다.

1    5    15    35    70    126    210    330    495    715

C 언어로 N번째 항까지 펜타토프 수를 출력하는 프로그램