2.定义法:
算法简介:用两个数分别去除较小的那个数,若两个除的结果都为0,则这个数为最大公约数,否则i减一,再用这两个数去除i,若为0,则结束循环,i即为最大公约数,否则一直循环到i=1结束。
代码如下:
package max;
import java.util.Scanner;
public class Max1{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个整数\n");
int a=sc.nextInt();
System.out.print("请输入第二个整数\n");
int b=sc.nextInt();
int min;
if (a <b)
{
min = a;
} else {
min = b;
}
int Maxcommon= 1;
for (int i = min; i >= 1; i--) {
if (a% i == 0 && b % i == 0) {
Maxcommon = i;
break;
}
}
System.out.print("最大公约数是:" + Maxcommon);
}
}
程序流程图为:
调试如下:
测试如下: