下面是常见的最大公约数求法
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter two number: ");
int a = input.nextInt();
int b = input.nextInt();
int temp = 1;
int i = 2;
while(i<=a &&i<=b ){
if(a%i ==0 && b%i ==0){
temp = i;
i++;
}
}
System.out.println("The greatest common number :" + temp);
}
下面是对这道题的详解:
对于两个数来说,最大公约数应该是个公约数--->对公约数取余应该=0,而且在公约数中是最大的那个。
int temp = 1;//代码块所做的就是上面这样的过程
//设定一个最小公约数。之后用来存储比它大的公约数
int i = 2;
//设定了一个不断递增的值,用来查找是否为公约数
while(i<=a &&i<=b ){//这个值不能大于原有的两个数---因为公因数不能比本身大
if(a%i ==0 && b%i ==0){//如果找到一个可以被两个数同时取余为0,则这是一个公约数
temp = i;//将公约数存储起来
i++;//将这个值+1进入下一轮查找
}
这样的方法被称为蛮力法,在这个代码块中,使用一个数来不断的递增,寻找公因数,这样最初得出的结果虽然正确,但对于内存的消耗较大。
在日后的学习过程中,会学到不同的化简过程的方法,但始终要记得那些看似平常简单的思想,却往往最能用于实战。



