A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wu_lesley 中级黑马   /  2013-11-18 13:09  /  1389 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果有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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1 希望问题早点解决

查看全部评分

4 个回复

倒序浏览
什么叫欧几里得算法啊?求解
回复 使用道具 举报
楼主的方法是正确的,我也发表以下本人的做法
  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.         }
复制代码

点评

FFF
很给力!  发表于 2013-11-19 00:16

评分

参与人数 1技术分 +1 收起 理由
To + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马