C 언어로 숫자 팩토리얼 구하기

CBeginner
지금 연습하기

소개

이 랩에서는 C 프로그램을 사용하여 숫자의 팩토리얼을 구하는 방법을 배웁니다. 루프를 사용하여 팩토리얼을 계산하는 간단한 알고리즘을 사용할 것입니다.

참고: 코딩을 연습하고 gcc 를 사용하여 컴파일하고 실행하는 방법을 배우려면 직접 ~/project/main.c 파일을 생성해야 합니다.

cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main

팩토리얼 이해하기

숫자 (예: n) 의 팩토리얼 ( n!으로 표시) 은 n 이전의 모든 숫자를 자체 숫자와 곱한 값입니다. 다음과 같이 표현할 수 있습니다.

!n = n * !(n - 1)

예를 들어,

!6 = 6 * 5 * 4 * 3 * 2 * 1 = 720
!12 = 12 * 11 * 10 * 9 * 8 * 7 * !6 = 479,001,600

중요 사항:

  • 0 의 팩토리얼은 1 입니다.
  • 음수의 팩토리얼은 존재하지 않습니다.

알고리즘 작성

팩토리얼 프로그램을 위해 따라야 할 단계는 다음과 같습니다.

  1. 변수 nfact=1을 선언합니다. n은 팩토리얼을 계산할 숫자이고, fact는 결과를 저장할 변수입니다.
  2. 사용자로부터 n에 입력을 받습니다.
  3. 루프 반복자 i=1을 초기화하고 i<=n까지 루프를 실행합니다.
  4. 루프의 각 반복에서 다음을 수행합니다.
    • fact=fact*i
    • i++
  5. fact를 출력합니다.

C 프로그램 작성

이 프로그램에서는 for 루프를 사용하여 숫자의 팩토리얼을 구합니다.

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

프로그램 테스트

프로그램을 실행하고 출력을 확인하여 테스트해 보겠습니다.

Enter the number: 5
Factorial of 5 is 120

최종 프로그램

다음은 for 루프를 사용하여 숫자의 팩토리얼을 구하는 최종 프로그램입니다.

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

요약

이 랩에서는 for 루프를 사용하여 숫자의 팩토리얼을 구하는 C 프로그램을 작성하는 방법을 배웠습니다. 간단한 알고리즘을 사용하고 단계별 프로세스를 따라 목표를 달성했습니다. 이 프로그램은 사용자로부터 입력을 받아 루프를 사용하여 팩토리얼을 계산하고 결과를 화면에 출력합니다. 변수 초기화 및 intlong int 데이터 유형의 제한과 같은 몇 가지 중요한 사항을 다루었습니다.