美文网首页
辗转相除法

辗转相除法

作者: 大红豆小薏米 | 来源:发表于2020-04-26 00:30 被阅读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));
        }
    }
    

    相关文章

      网友评论

          本文标题:辗转相除法

          本文链接:https://www.haomeiwen.com/subject/chdrwhtx.html