题解 | #将真分数分解为埃及分数#
将真分数分解为埃及分数
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,然后就通过了
