题解 | #将真分数分解为埃及分数#

将真分数分解为埃及分数

https://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b

主要在于:

1.理清求解埃及分数的方法;
2.在code前,还是要想清楚步骤,一边写一边想,容易写乱(当然是针对我这种小白哈哈哈)

import java.util.*;

public class Main {
    public static void main(String[] args)  {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()) {
            String input = scan.nextLine();
            String[] inputs = input.split("/");
            long numerator = Long.parseLong(inputs[0]);
            long denominator = Long.parseLong(inputs[1]);
            List<Long> list = new ArrayList<>();

            //循环判断,直至分子为1
            while (numerator != 1) {
                //判断字母能否被分子整除
                if (denominator % numerator == 0) {
                    list.add(denominator / numerator);
                    break;
                } else {
                    long nextDenominator = denominator / numerator + 1;
                    list.add(nextDenominator);
                    numerator = numerator * nextDenominator - denominator;
                    denominator = denominator * nextDenominator;
                    if (numerator == 1) list.add(denominator);
                }
            }

            //输出
            for(int i=0;i<list.size();i++){
                if(i<list.size()-1){
                    System.out.print("1/"+list.get(i)+"+");
                }else{
                    System.out.print("1/"+list.get(i));
                }
            }
            System.out.println();


        }

    }


}
全部评论

相关推荐

自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务