求取两数的最大公约数
1. 递归实现
public class test1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入两个数:");
int a=scanner.nextInt();
int b=scanner.nextInt();
int count=1;
function(a,b,count);
System.out.println("最大公约数为:"+num);
}
static int num=0;
public static void function(int a, int b, int count){
if (a%count==0&&b%count==0) {
num=count;
}
count++;
if(count<=a||count<=b){
function(a,b,count);
}
}
}
2. 非递归实现
public class test1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入两个数:");
int a=scanner.nextInt();
int b=scanner.nextInt();
int count=0;
for (int i=1;i<=a;i++){
if (a%i==0&&b%i==0) {
count = i;
}
}
System.out.println("最大公约数为:"+count);
}
}