黑马程序员技术交流社区
标题:
求两个数的最大公因子
[打印本页]
作者:
wu_lesley
时间:
2013-11-18 13:09
标题:
求两个数的最大公因子
如果有a与b两个int变量,分别存储1000和495两个值,请用程序算出最大公因子。
以下是我写的程序,不知道对不对,或者还有什么别的方法么?
package chap1;
public class MaxG {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=1000,b=495;
int temp;
while (b != 0)
{
temp = a % b;
a = b;
b = temp;
}
System.out.println(a);
}
}
复制代码
作者:
hurryup
时间:
2013-11-18 21:17
什么叫欧几里得算法啊?求解
作者:
李文帅
时间:
2013-11-18 21:19
楼主的方法是正确的,我也发表以下本人的做法
public static int commy(int a,int b){
int i = 1;
int commyue = 0;//定义变量,存放最大公因子
int c = a;
if(c>b)
c = b;//变量c用于存放两个数中较小的那个数
while(i<=c){//设置判定条件,最大公因子应 <= 较小的那个数
if(a%i==0 && b%i==0)//判断i是否是两个数的公因子
commyue = i;//如果是,则把i的值赋给commyue
i++;
}//循环结束,则此时的变量commyue的值就是最大公因子
return commyue;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2