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

C#으로 거듭제곱(3제곱) 계산하기 – 재귀 함수 완벽 가이드

C#에서 어떤 수의 3제곱을 구하려면 지수를 3으로 설정하고 재귀(recursion) 기반 코드를 활용하면 간단하게 해결할 수 있습니다. 재귀 함수는 자기 자신을 반복적으로 호출하면서 지수를 하나씩 줄여가며 곱셈을 수행하는 방식으로 동작합니다.

재귀 함수의 핵심 로직

거듭제곱을 계산하는 재귀 코드의 핵심 부분은 다음과 같습니다.

if (p != 0) {
    return (n * power(n, p - 1));
}

재귀 호출의 동작 과정

예를 들어 밑수가 5이고 지수가 3이라고 가정해 보겠습니다. 이 경우 재귀 호출은 다음과 같은 단계로 진행됩니다.

power(5, 3) → 5 * power(5, 2)
power(5, 2) → 5 * power(5, 1)
power(5, 1) → 5 * power(5, 0)
power(5, 0) → 1 (종료 조건)

각 단계의 결과를 거슬러 올라가면 최종적으로 5 × 25 = 125, 즉 5의 3제곱인 125가 반환됩니다.

전체 예제 코드

using System;
using System.IO;

public class Demo {
    public static void Main(string[] args) {
        int n = 5;
        int p = 3;
        long res;
        res = power(n, p);
        Console.WriteLine(res);
    }

    static long power(int n, int p) {
        if (p != 0) {
            return (n * power(n, p - 1));
        }
        return 1;
    }
}

실행 결과

125

코드 설명

위 코드에서 power 메서드는 두 개의 매개변수를 받습니다. 첫 번째 n은 밑수, 두 번째 p는 지수입니다. 지수가 0이 아니면 현재 밑수와 지수를 1 감소시킨 재귀 호출 결과를 곱해 반환하고, 지수가 0이 되면 1을 반환하여 재귀를 종료합니다.

결과값을 담는 변수를 long 타입으로 선언한 점도 주목할 만합니다. 지수가 커지면 결과값이 int 범위를 초과할 수 있으므로, 더 큰 수를 안전하게 처리하기 위함입니다.