黑马程序员技术交流社区

标题: 求两个数的最大公因子 [打印本页]

作者: wu_lesley    时间: 2013-11-18 13:09
标题: 求两个数的最大公因子
如果有a与b两个int变量,分别存储1000和495两个值,请用程序算出最大公因子。
以下是我写的程序,不知道对不对,或者还有什么别的方法么?
  1. package chap1;

  2. public class MaxG {

  3.         public static void main(String[] args) {
  4.                 // TODO Auto-generated method stub
  5.                 int a=1000,b=495;
  6.                 int temp;
  7.                 while (b != 0)
  8.                 {
  9.                        temp = a % b;
  10.                        a = b;
  11.                        b = temp;
  12.                 }
  13.                 System.out.println(a);
  14.         }

  15. }
复制代码

作者: hurryup    时间: 2013-11-18 21:17
什么叫欧几里得算法啊?求解
作者: 李文帅    时间: 2013-11-18 21:19
楼主的方法是正确的,我也发表以下本人的做法
  1. public static int commy(int a,int b){
  2.                 int i = 1;
  3.                 int commyue = 0;//定义变量,存放最大公因子
  4.                 int c = a;
  5.                 if(c>b)
  6.                         c = b;//变量c用于存放两个数中较小的那个数
  7.                 while(i<=c){//设置判定条件,最大公因子应 <= 较小的那个数
  8.                         if(a%i==0 && b%i==0)//判断i是否是两个数的公因子
  9.                                 commyue = i;//如果是,则把i的值赋给commyue
  10.                         i++;
  11.                 }//循环结束,则此时的变量commyue的值就是最大公因子
  12.                 return commyue;
  13.         }
复制代码





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