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

C 언어로 거듭제곱 계산하기: 사용자 입력 기반 거듭제곱 프로그램 완벽 가이드

이 글에서는 사용자로부터 밑(base)과 지수(exponent) 두 개의 정수를 입력받아 거듭제곱을 계산하는 C 프로그램을 다룹니다.

예시

C 프로그램을 작성하기 전에 다음 예시를 통해 거듭제곱의 개념을 살펴보겠습니다.

  • 밑(base) = 3
  • 지수(exponent) = 4
  • 거듭제곱 = 3 × 3 × 3 × 3 = 81

알고리즘

다음 알고리즘에 따라 프로그램을 작성합니다.

1단계: int형과 long형 변수를 선언한다.
2단계: 콘솔을 통해 밑(base) 값을 입력받는다.
3단계: 콘솔을 통해 지수(exponent) 값을 입력받는다.
4단계: while 반복문 실행 (지수가 0이 아닐 때까지)
    i. value *= base (값에 밑을 곱함)
    ii. --exponent (지수를 1씩 감소)
5단계: 결과를 출력한다.

정수 거듭제곱 계산 프로그램

다음 프로그램은 C 언어에서 주어진 숫자의 거듭제곱을 계산하는 방법을 보여줍니다.

#include<stdio.h>
int main(){
    int base, exponent;
    long value = 1;
    printf("밑 값 입력:\n ");
    scanf("%d", &base);
    printf("지수 값 입력: ");
    scanf("%d", &exponent);
    while (exponent != 0){
        value *= base;
        --exponent;
    }
    printf("결과 = %ld", value);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

실행 1:
밑 값 입력:
5
지수 값 입력: 4
결과 = 625

실행 2:
밑 값 입력:
8
지수 값 입력: 3
결과 = 512

실수 거듭제곱 계산 프로그램 (pow 함수 활용)

만약 실수의 거듭제곱을 구하고 싶다면, math.h 헤더 파일에 미리 정의되어 있는 pow() 함수를 사용하면 됩니다. 이 함수는 밑과 지수를 모두 double형으로 받아 처리할 수 있습니다.

#include<math.h>
#include<stdio.h>
int main() {
    double base, exponent, value;
    printf("밑 값 입력: ");
    scanf("%lf", &base);
    printf("지수 값 입력: ");
    scanf("%lf", &exponent);
    // 거듭제곱 계산
    value = pow(base, exponent);
    printf("%.1lf^%.1lf = %.2lf", base, exponent, value);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

밑 값 입력: 3.4
지수 값 입력: 2.3
3.4^2.3 = 16.69

마무리

이처럼 C 언어에서는 반복문을 활용해 정수의 거듭제곱을 직접 구현할 수 있으며, 실수 연산이 필요한 경우에는 math.h의 pow() 함수를 사용하는 것이 효율적입니다. 두 방법의 차이를 이해하고 상황에 맞게 활용해 보세요.