永发信息网

用Java语言求m,n的最大公约数,三种方法

答案:3  悬赏:60  手机版
解决时间 2021-03-21 11:16
  • 提问者网友:戎马万世
  • 2021-03-21 02:24
分别使用欧几里德算法、连续整数检测算法、公因数算法实现
最佳答案
  • 五星知识达人网友:等灯
  • 2021-03-21 04:00
1.从1开始循环。分别求出m、n的约数。找出最大公约数。
2.判断m、n的大小,从较小的开始循环,每次减一,判断是否为公约数。如果是,则为最大公约数,break;
3.2反过来,从小到大循环,找最大的。
公约数判断:
m%i=0&&n/i=0。

举第二个例子:
public class Test {
public static int getN(int m,int n){
int i = m>n?n:m;
for(;i>0;i--){
if(m%i==0&&n%i==0){
System.out.println("m、n的最大公约数为"+i);
break;
}
}

return i;
}

public static void main(String[] args) {
System.out.println(getN(100, 88));
}

}
全部回答
  • 1楼网友:迟山
  • 2021-03-21 05:03
import java.io.*; public class Test { public static void main(String []args) { System.out.println("input m,n :"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int m = 0, n = 0; try { m = Integer.parseInt(br.readLine()); n = Integer.parseInt(br.readLine()); } catch (IOException e) { System.out.println("input error!"); } while(m!=n) { if(m>n) m=m-n; if(m<n) n=n-m; } System.out.println(m); } }
  • 2楼网友:你哪知我潦倒为你
  • 2021-03-21 04:34

新建一个程序(文件菜单——新建——程序——新建文件),写代码:

input "请输入m的值: " to m input "请输入n的值: " to n temp=0 if n>m  temp=m  m=n  n=temp endif r = m%n do while r <> 0  m = n  n = r  r = m%n enddo ? "最大公约数是:",n

然后,直接点击感叹号,保存并运行,图:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯