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

将真分数分解为埃及分数

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String line = in.nextLine();
            long a =Long.parseLong(line.split("/")[0]);
            long b =Long.parseLong(line.split("/")[1]);
           
            StringBuilder sb = new StringBuilder();
            while(a!=1){
                long c = b/a+1;
                if (b%a==0){
                    if (sb.length()!=0){
                        sb.append("+");
                    }
                    sb.append("1/").append((b / a));
                    break;
                }
                if (sb.length()!=0){
                    sb.append("+");
                }
                sb.append("1/").append((b / a)+1 );
                a-=b%a;
                b*=c;
                if (a==1){
                    sb.append("+1/").append(b);
                }
            }
            System.out.println(sb.toString());
        }
    }
}

之前用的int,发现最后一个测试用例过不了,最后发现是有些分母太大了导致结果不准确,才改的Long,然后就通过了

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 11:47
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
希望奇迹发生的布莱克...:真的是 现在卷实习就是没苦硬吃
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务