求两个数的最大公约数

来源:互联网 发布:matlab数据分析 编辑:程序博客网 时间:2024/06/04 19:27

最近在看关于算法类的书,毕竟自己这块太薄弱了,现在把自己看到的小例子记录下来,方便以后可以随时回顾!
求两个数的最大公约数应该是大家小学就学会的东西了,现在用代码的方式实现
具体代码如下

public class Test {    public static void main(String[] args) {        Scanner  scanner = new Scanner(System.in);        System.out.println("请输入第一个数:");        int p = scanner.nextInt();        System.out.println("请输入第二个数:");        int q = scanner.nextInt();        int result = getGYS(p,q);        System.out.println("最大公约数是:"+result);    }    public static int getGYS(int m,int n)    {        if(n==0)            return m;        int r = m%n;        return getGYS(n,r);    }}

具体思路就是先判断一个数是不是等于0,如果是,则最大公约数就是另外一个数,如果不是,则二者求余,然后将除数和得到的余数继续重复上面的操作,直到传进来的两个数有一个为0,整个计算就结束了。
整体不难,就当复习下了,(^__^) 嘻嘻……,各位大佬轻喷!

原创粉丝点击