递归:最小公倍数和最大公约数求解

来源:互联网 发布:阿里云中的cdn加速 编辑:程序博客网 时间:2024/05/16 03:36
package none008第六章递归;//最小公倍数和最大公约数求解public class NecessaryApp {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub    minTimes(2,2);    System.out.println(maxTimes2(120,60));      }//最小公倍数public static int minTimes(int m,int n){ if(m>n){m^=n;n^=m;m^=n;  }for(int i=n;i<=m*n;i++){if(i%m==0&&i%n==0){System.out.println("最小公倍数: "+i);return i;}}return 0;}//递归求最大公约数(一个数A与比自己大的数取余,余数总是为A;一个数与比自己小的数取余,余数比之前求余的两个数都要小).//这个方法求最大公约数较好。喜欢public static int maxTimes(int m,int n){if(m%n==0)return n;elsereturn maxTimes(n,m%n);}//普通循环求最大公约数public static int maxTimes2(int m,int n){if(m>n){int temp=m;m=n;n=temp;}if(n%m==0){return m;}else {for(int i=m-1;i>0;i--){if(n%i==0&&m%i==0){return i; }}return 0;}}}

0 0
原创粉丝点击