Computational Intelligence/수치계산

유클리드 호제법 두번째 (Euclidean algorithm)

초인로크 2014. 5. 22. 02:03
반응형

유클리드 호제법을 이용한 최대공약수 구하기 두번째 : 나눗셈을 이용하여 구하기.

일단 증명은 위키페디아 참조...


1. 두개의 수치를 입력

2. i÷j의 나머지를 k라고 둔다.

3. i=j, j=k로 대입을 한다.

4. i가 0이되면 루프를 벗어난다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//
//  main.c
//  Euclidean_algorithm
//
//  Created by robot on 2014/05/21.
//  Copyright (c) 2014年 Rocke. All rights reserved.
//
 
#include <stdio.h>
 
int main(int argc, const char * argv[])
{
    int i,j,k;
    
    printf("Enter two numbers here (a b):");
    scanf("%d %d",&i,&j);
    
    while(1){
        k=i%j;
        i=j;
        j=k;
        
        if(j==0)
            break;
    }
    printf("Greatest common divisor is %d.\n",i);
}
 
 


Xcode로 출력한 결과는 아래와 같다.



반응형