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