Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

재귀 함수를 사용하여 숫자의 GCD를 찾는 C 프로그램

<시간/>

문제

C 프로그래밍 언어의 재귀 함수를 사용하여 주어진 두 숫자에 대한 최대공약수(GCD)를 구합니다.

해결책

재귀 함수를 사용하여 주어진 두 숫자에 대한 최대 공약수(GCD)를 찾는 솔루션은 다음과 같습니다. -

알고리즘

재귀 함수를 사용하여 주어진 두 숫자에 대한 최대 공약수(GCD)를 찾으려면 아래 주어진 알고리즘을 참조하십시오.

1단계 − 재귀 함수를 정의합니다.

2단계 − 두 정수 b를 읽습니다.

3단계 − 재귀 함수를 호출합니다.

a. if i>j
b. then return the function with parameters i,j
c. if i==0
d. then return j
e. else return the function with parameters i,j%i.

순서도

재귀 함수를 사용하여 주어진 두 숫자에 대한 최대 공약수(GCD)를 찾는 알고리즘에 대한 순서도가 아래에 나와 있습니다.

재귀 함수를 사용하여 숫자의 GCD를 찾는 C 프로그램

예시

다음은 재귀 함수를 사용하여 주어진 두 숫자에 대한 최대공약수(GCD)를 구하는 C 프로그램입니다. -

#include<stdio.h>
#include<math.h>
unsigned int GCD(unsigned i, unsigned j);
int main(){
   int a,b;
   printf("Enter the two integers: \n");
   scanf("%d%d",&a,&b);
   printf("GCD of %d and %d is %d\n",a,b,GCD(a,b));
   return 0;
}
/* Recursive Function*/
unsigned int GCD(unsigned i, unsigned j){
   if(j>i)
      return GCD(j,i);
   if(j==0)
      return i;
   else
      return GCD(j,i%j);
}

출력

위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -

Enter the two integers: 4 8
GCD of 4 and 8 is 4