这题由于数字太大,只能用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);
}
}



京公网安备 11010502036488号