1.输入两个正整数m和n,求其最大公约数
输入格式 :
15 9
输出格式 :
3
输入格式 :
12 18
输出格式 :
6
代码:
package com.itheima;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n,m,t;
n = scanner.nextInt();
m = scanner.nextInt();
if(n < m){
t = n;
n = m;
m = t;
}
t = m;
while (t > 0){
if((n % t == 0) && (m % t == 0)){
System.out.println(n+"和"+m+"最大公约数为:"+t);
break;
}
t--;
}
}
}
也可以用for 循环试一下
第二种方法:辗转相除法
package com.itheima;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n,m,t;
n = scanner.nextInt();
m = scanner.nextInt();
if(n < m){
t = n;
n = m;
m = t;
}
while(m != 0){
t = n % m;
n = m;
m = t;
}
System.out.println("最大公约数为:"+n);
}
}
在函数中会用递归再写一次。