黑马程序员技术交流社区

标题: 辗除法。有知道的吗? 求大神解答.... [打印本页]

作者: 锦年123    时间: 2015-10-27 23:32
标题: 辗除法。有知道的吗? 求大神解答....
输入两个正整数m和n,求其最大公约数和最小公倍数。   
作者: 耀阳圣尊    时间: 2015-10-28 11:17
  1.                 public static void main(String[] args) {
  2.                           // TODO Auto-generated method stub
  3.                           //调用java.util.Scanner可以获得从键盘输入的数字;
  4.                           Scanner sc= new Scanner(System.in);
  5.                           //定义两个整型数字的变量
  6.                           int m;
  7.                           int n;
  8.                           System.out.print("请输入一个数:");
  9.                           m= sc.nextInt();//nextInt();方法用来获取输入的Int NUM
  10.                           System.out.print("请输入另一个数:");
  11.                           n= sc.nextInt();
  12.                           //调用后面的静态方法;
  13.                           System.out.println(gongyue(m, n));
  14.                           System.out.println(gongbei(m, n));
  15.                          }

  16.                          // a与b的最大公约数
  17.                          public static int gongyue(int m, int n) {
  18.                           while(n%m!=0){
  19.                            /**运用递归调用将求余之后的值作为m
  20.                             * 将之前的m作为n直到求余值为0为止结束循环*/
  21.                            int temp=n%m;
  22.                            n=m;
  23.                            m=temp;
  24.                           }
  25.                           return m;
  26.                          }

  27.                          // a与b的最小公倍数
  28.                          public static int gongbei(int m, int n) {
  29.                           //求公倍数就是将两个数相乘除以最大公约数
  30.                           return m* n / gongyue(m, n);
  31.                          }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2