最大公约数
- 定义:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。
- 递归求解:
public class text{ public static void main(String[] args){ //调用方法求两个数的最大公约数 System.out.println(getNumber(100,80)); } private static int getNumber(int x, int y) { int big=x>y?x:y; int small=x<y?x:y; if (big%small==0){ return small; } return getNumber(big%small,small); } }
这个感觉没必要详细讲,应该都能看懂
改进:
public class text{ public static void main(String[] args){ //调用方法求两个数的最大公约数 System.out.println(getNumber(100,80)); } private static int getNumber(int x, int y) { if(x==y){ return x; } int big=x>y?x:y; int small=x<y?x:y; return getNumber(big-small,small); } }