主要在于:
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();
}
}
}

京公网安备 11010502036488号