这题由于数字太大,只能用BigInteger

正好里面自带了gcd

然后就可以用一个for循环做出来,不熟悉相关语法的得注意一下BIgInteger的for循环该怎么写

还有就是,如果gcd已经等于1了,那么就不用再求了,可以直接退出循环了



import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		BigInteger aBigInteger=new BigInteger(scanner.next());
		BigInteger bBigInteger=new BigInteger(scanner.next());
		BigInteger gBigInteger=aBigInteger.gcd(bBigInteger);
		for (BigInteger i = aBigInteger; i.compareTo(bBigInteger)<=0 ; i=i.add(BigInteger.ONE)) {
			gBigInteger=gBigInteger.gcd(i);
			if(gBigInteger.equals(BigInteger.ONE)) {
				break;
			}
			
		}
		System.out.println(gBigInteger);

	}

}