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

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

<시간/>

문제

비재귀 함수를 사용하여 주어진 두 숫자에 대한 최대공약수(GCD)를 구합니다.

해결책

비재귀 함수를 사용하여 주어진 두 숫자에 대한 최대 공약수(GCD)를 찾는 방법은 아래에 설명되어 있습니다.

알고리즘

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

1단계 - 시작

2단계 − 정수 a 및 b 읽기

3단계 − 함수 G=GCD(a,b) 6단계 호출

4단계 − G 값 인쇄

5단계 − 중지

6단계 − 호출된 함수:GCD(a,b)

a. Initialize the i=1, j, remainder
b. Remainder=i-(i/j*j)
c. Remainder=0 return j else goto step 4
d. GCD(G,remainder) return to main program

순서도

다음은 비재귀 함수를 사용하여 주어진 두 숫자에 대한 최대공약수(GCD)를 찾는 알고리즘의 순서도입니다.

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

예시

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

#include<stdio.h>
#include<conio.h>
#include<math.h>
int gcdnonR(int i,int j){
   int rem;
   rem=i-(i/j*j);
   if(rem==0)
      return j;
   else
      gcdnonR(j,rem);
}
void main(){
   int a,b;
   printf("enter the two numbers:");
   scanf("%d%d",&a,&b);
   printf("GCD of %d",gcdnonR(a,b));
   getch();
}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

enter the two numbers:10 30
GCD of 10