2271 - 2013_12_13_E

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

MiaoWu想知道两个数的最大公约数是多少,请你实现

题目输入

多组输入,到文件末尾结束

每组数据输入两个数字a,b。

题目输出

每组数据输出一行,输出a和b的最大公约数

输入/输出样例

输入格式

2 5
3 6
10 100

输出格式

1
3
10

C++解答

#include<iostream>
using namespace std;


int  gcd(int a,int b)
{
    if(a==0) return b;
    if(b==0) return a;
    else return gcd(b%a,a);
}

int main()
{
    int n,m;

    while(cin>>n>>m)
    {
        cout<<gcd(n,m)<<endl;
    }
    return 0;
}

Java解答

import java.io.*;
import java.util.*;
import java.math.BigInteger;
public class Main{
	static int gcd(int a,int b){
		if(a%b==0)return b;
		return gcd(b,a%b);
	}
	public static void main(String[] args){
		Scanner cin=new Scanner(System.in);
		while(cin.hasNext()){
			int a=cin.nextInt();
			int b=cin.nextInt();
			if(a==0)
				System.out.println(b);
			else if(b==0)
				System.out.println(a);
			else
				System.out.println(gcd(a,b));
		}
	}
}