Soft Ware/자료구조 및 알고리즘

유클리드 호제법을 이용한 최대공약수 구하기

달려가보자 2012. 4. 16. 06:01

#include <stdio.h>

int main()
{
 int Data = 0;
 int Data1 = 0;
 int m = 0;
 int n = 0;
 int result = 0;

 printf("Data input : ");
 scanf("%d %d",&Data,&Data1);
 
 m = Data;
 n = Data1;

 do{
  
  result = m % n;

  m = n;
  n = result;
 }while(result != 0);

 printf("Data : %d\n",m);

 return 0;
}

 기존의 두 데이터 값을 나머지 연산자를 이용하여 나머지를 구합니다.

그다음 기존의 데이터2가 1으로 이동하고 나머지값이 데이터 2로 이동합니다.

이처럼 나머지가 0이 나오면 나눈 인자값이 최대공약수가 됩니다 ㅎㅎ