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

将真分数分解为埃及分数

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,然后就通过了

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 10:46
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 10:48
点赞 评论 收藏
分享
点赞 评论 收藏
分享
把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务