문제
비재귀 함수를 사용하여 주어진 두 숫자에 대한 최대공약수(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 프로그램입니다. -
#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