1.欧几里得算法
-自然语言描述:
计算两个非负整数 p 和 q 的最大公约数:若
q 是 0,则最大公约数为 p。否则,将 p 除以
q 得到余数 r,p 和 q 的最大公约数即为 q 和
r 的最大公约数。
-Java语言描述:
public static int gcd(int p,int q){
if(q==0) return p;
int r = p%q;
return gcd(q,r);
}
-验证代码:
import java.util.Scanner;
class TestGCD {
//欧几里得算法
private static int gcd(int a, int b){
if (b==0) return a;
return a%b == 0 ? b : gcd(b,a%b);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = TestGCD.gcd(in.nextInt(),in.nextInt());
System.out.println("最大公约数是"+x);
}
}
-运行
命令行cd到Java文件目录,执行javac -encoding -utf-8 xxx.java
然后执行java xxx
.