1404 - 最大公约数2

通过次数

0

提交次数

0

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

输入两个正整数,求其最大公约数。

题目输入

测试数据有多组,每组输入两个正整数。

题目输出

对于每组输入,请输出其最大公约数。

输入/输出样例

输入格式

49 14

输出格式

7

C语言解答

#include<stdio.h>
int gcd(int a,int b)
{
	int t;
	if(b>a){t=a;a=b;b=t;}
	if(a%b)
		return gcd(b,a%b);
	else
		return b;
}
int main()
{   
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
	{  
		b=gcd(a,b);
        printf("%d\n",b);
    }
  return 0;
}

C++解答

#include <stdio.h>

int GCD(int m, int n){
	int tmp;
	while(n){
		tmp = m%n;
		m = n;
		n = tmp;
	}
	return m;
}

int main(){
#ifndef ONLINE_JUDGE
	freopen("in", "r", stdin);
#endif

	int m, n;
	while(scanf("%d%d", &m, &n) != EOF){
		printf("%d\n", GCD(m, n));
	}

	return 0;
}

Java解答

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNextInt()){
        int n1=in.nextInt();
        int n2=in.nextInt();
        int min1,min2,x=0;
        if(n1<n2) {min1=n1;min2=n2;}
        else {min1=n2;min2=n1;}
        for(int i=1;i<=min1;i++)
            if(min1%i==0&&min2%i==0) x=i;
            System.out.println(x);
        }
    }
}