辗转相除法

2020-04-26  本文已影响0人  大红豆小薏米
  1. 如果b等于0,计算结束,a就是最大公约数

  2. 否则,计算a除以b的余数,让a等于b,b等于那个余数

  3. 回到第一步

import java.util.Scanner;

import static java.lang.System.out;

public class Main {
    public static int f(int a,int b){//求公约数,辗转相除法
        int count = 0;
        for(int i=1;i<=Math.min(a, b);i++){
            if(a%i==0&&b%i==0){
                count = i;
            }
        }
        return count;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        String[] num = s.split("/");//切割字符串
        int a = Integer.parseInt(num[0]); //string 转 int
        int b = Integer.parseInt(num[1]);
        System.out.println(a/f(a,b)+"/"+b/f(a,b));
    }
}
上一篇下一篇

猜你喜欢

热点阅读