求最大公约数
使用辗转相除法和递归求两个正整数m和n的最大公约数。
输入格式:
输入两个正整数m,n。
输出格式:
按要求输出辗转相除过程及最终结果,输出结果之间空格分隔。
输入样例:
21 35
输出样例:
gcd(21,35) gcd(35,21) gcd(21,14) gcd(14,7) 7
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m=input.nextInt();
int n=input.nextInt();
int tmpt=0;
System.out.print("gcd("+m+","+n+") ");
if (m<n) {
tmpt = m;
m = n;
n = tmpt;
System.out.print("gcd(" + m + "," + n + ") ");
}
int remainder=1;
while (remainder!=0){
remainder=m%n;
m=n;
n=remainder;
if (n!=0)
System.out.print("gcd(" + m + "," + n + ") ");
else
System.out.print(m);
}
}
}
输出结果: