>  기사  >  백엔드 개발  >  유클리드 알고리즘을 구현하는 C 프로그램

유클리드 알고리즘을 구현하는 C 프로그램

WBOY
WBOY앞으로
2023-09-17 12:41:021018검색

유클리드 알고리즘을 구현하는 C 프로그램

Problem

두 정수의 최대 공약수(GCD)와 최소 공배수(LCM)를 구하고 그 결과를 주어진 정수로 출력하는 유클리드 알고리즘을 구현합니다.

해결 방법

두 정수의 최대 공약수(GCD)와 최소 공배수(LCM)를 구하는 유클리드 알고리즘을 구현하는 솔루션은 다음과 같습니다. -

GCD와 LCM을 구하는 논리는 다음과 같습니다. -라는 함수 by
if(firstno*secondno!=0){
   gcd=gcd_rec(firstno,secondno);
   printf("</p><p>The GCD of %d and %d is %d</p><p>",firstno,secondno,gcd);
   printf("</p><p>The LCM of %d and %d is %d</p><p>",firstno,secondno,(firstno*secondno)/gcd);
}

다음과 같습니다 -

int gcd_rec(int x, int y){
   if (y == 0)
      return x;
   return gcd_rec(y, x % y);
}

Program

다음은 두 정수의 최대 공약수(GCD)와 최소 공배수(LCM)를 찾기 위한 유클리드 알고리즘을구현하는 C 프로그램입니다 -

라이브 시연

#include<stdio.h>
int gcd_rec(int,int);
void main(){
   int firstno,secondno,gcd;
   printf("Enter the two no.s to find GCD and LCM:");
   scanf("%d%d",&firstno,&secondno);
   if(firstno*secondno!=0){
      gcd=gcd_rec(firstno,secondno);
      printf("</p><p>The GCD of %d and %d is %d</p><p>",firstno,secondno,gcd);
      printf("</p><p>The LCM of %d and %d is %d</p><p>",firstno,secondno,(firstno*secondno)/gcd);
   }
   else
      printf("One of the entered no. is zero:Quitting</p><p>");
   }
   /*Function for Euclid&#39;s Procedure*/
   int gcd_rec(int x, int y){
   if (y == 0)
      return x;
   return gcd_rec(y, x % y);
}

출력

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

Enter the two no.s to find GCD and LCM:4 8

The GCD of 4 and 8 is 4

The LCM of 4 and 8 is 8

위 내용은 유클리드 알고리즘을 구현하는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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