真分数分解为埃及分数
- 真分数:分子小于分母
- 埃及分数:分子数为1的真分数
约定分数表示为a/b
** 但是注意,这两个算法给出来的结果并不是所有情况下都是相同! **
Example:
Input: 8/11
Output: 算法1: 1/2+1/5+1/37+1/4070 算法2: 1/2+1/5+1/55+1/110
算法一:基本,穷举
1、初始化i=2,分数为a/b
2、开始比较
- if a=1, finish
- if a/b>1/i: a/b=a/b-1/i, i=i+1, return 2
- if a/b<1/i: i=i+1, return 2
# algorithm 1
def egypt(a,b):
if a==1:
return [b]
i=1
B=[]
while a!=1:
i+=