冬Blog

醉心技术、醉心生活
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

GCD(Great Common Divisor)的欧几里得算法

Posted on 2006-06-25 14:34  冬冬  阅读(578)  评论(0编辑  收藏  举报
编号:1

C版本:
#include <stdio.h>

long gcd(long a,long b){
    
long rem=0;
    
    
while(b!=0)    {
        rem
=a%b;
        a
=b;
        b
=rem;
    }

    
return a;
}


int main(){
    
    
long a=0,b=0;
    
    scanf(
"%ld,%ld",&a,&b);    
    printf(
"The greatest common divisor of the two is : %ld",gcd(a,b));
    
    
return 0;
}




Java版本:
package problem1;

import java.io.*;

public class Main {

    
public static void main(String[] args) {
        
try {
            BufferedReader reader 
= new BufferedReader(new InputStreamReader(
                    System.in));

            
long a = Integer.parseInt(reader.readLine());
            
long b = Integer.parseInt(reader.readLine());
            System.out.println(
"The greatest common divisor of the two is "
                    
+ gcd(a, b));
        }
 catch (Exception e) {
            System.out.println(e);
        }

    }


    
private static long gcd(long a, long b) {
        
while (b != 0{
            
long rem = a % b;
            a 
= b;
            b 
= rem;
        }

        
return a;
    }

}