大家帮忙来看看!!

这个m和n怎么不运算呀!!

import java.util.Scanner;
class YiTi{
public static void main(String args[]){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入第一个整数");
    int m =sc.nextInt();
    
    System.out.println("请输入第二个整数");
    int n = sc.nextInt();
    if(m>0&&n>0){
        int temp;
            if(m>n){
                temp = m%n;
                temp = n%temp;
                if(temp==0){
                    System.out.println("最大公约数"+temp);
                }
            }else{
                temp=n%m;
                temp=m%temp;
                if(temp==0){
                    System.out.println("最大公约数"+temp);
                }
            }

    }else{
        System.out.println("输入错误");
    }
}

}

阅读 2.5k
3 个回答

图片描述

帮你改了下,基于辗转求余算法获取最大公约数

新手上路,请多包涵

可以考虑下欧几里德算法,其中p大于q

public int gcd(int p,int q){

if(q == 0) return p;
int r = p % q;
return gcd(q,r);

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题