>  기사  >  백엔드 개발  >  재귀 함수를 사용하여 x의 n승을 생성하는 C 프로그램

재귀 함수를 사용하여 x의 n승을 생성하는 C 프로그램

PHPz
PHPz앞으로
2023-08-25 22:33:091904검색

재귀 함수를 사용하여 x의 n승을 생성하는 C 프로그램

Problem

x의 n승 값을 계산합니다. 여기서 x와 n은 모두 런타임 시 사용자가 입력합니다.

Solution

C 프로그래밍의 재귀 함수를 사용하여 x의 n승을 생성합니다. 언어 값의 해는 다음과 같습니다 −

x의 n제곱을 구하는 논리는 다음과 같습니다. −

//Calling function:
Xpow=power(x,n);
//Called function:
if (n==1)
   return(x);
else if ( n%2 == 0)
   return (pow(power(x,n/2),2)); /*if n is even*/
else
   return (x*power(x, n-1));

Algorithm

아래 알고리즘을 참조하여 x의 n제곱 값을 생성하세요. 재귀 함수를 사용합니다.

1단계 - 긴 정수 변수 읽기

2단계 - 함수 프로토타입 선언

3단계 - 함수 호출

Xpown=power(x,n) goto step 5

4단계 − xpown 인쇄

5단계 − 통화 기능

5.1단계 − if (n==1)

5.1.1단계 − return(x)

5.2단계 − Else if (n%2 == 0)

5.2.1단계 − Return (pow(power(x,n/2),2)); /*n이 짝수인 경우*/

5.3단계 − Else

5.3장 1단계 − Return (x *power (x, n-1)); /*n이 홀수인 경우*/

Program

다음은 재귀 함수를 사용하여 x−

#include <stdio.h>
#include <math.h>
void main(){
   long int x, n, xpown;
   long int power(int x, int n);
   printf("Enter the values of X and N: </p><p>");
   scanf("%ld %ld", &x, &n);
   xpown = power (x, n);
   printf("X to the power N = %ld</p><p>",xpown);
}
/*Recursive function to computer the X to power N*/
long int power(int x, int n){
   if (n==1)
      return(x);
   else if ( n%2 == 0)
      return (pow(power(x,n/2),2)); /*if n is even*/
   else
      return (x*power(x, n-1)); /* if n is odd*/
}

의 n번째 거듭제곱 값을 생성하는 C 프로그램입니다.

위 프로그램이 실행되면 다음과 같은 결과가 나옵니다 −

Enter the values of X and N:
5 4
X to the power N = 625

위 내용은 재귀 함수를 사용하여 x의 n승을 생성하는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제