题解 | #将真分数分解为埃及分数#
1.
古埃及人所指的分数,其分子必等于1,例如:1/2、1/3、1/4。
数学家斐波那契提出的一种求解埃及分数的算法:
设某个真分数的分子为a,分母为b;
把c=(b/a+1)作为分解式中第一个埃及分数的分母;
将a-b%a作为新的a;
将b*c作为新的b;
如果a等于1,则最后一个埃及分数为1/b,算法结束;
如果a大于1但是a能整除b,则最后一个埃及分数为1/(b/a),算法结束;
否则重复上面的步骤。
/*
b = a*p+r
a/b = a/(a*p+r) = (a*(p+1))/((a*p+r)*(p+1)) = (a*p+r+a-r))/((a*p+r)*(p+1)) = 1/(p+1) + (a-r)/((a*p+r)*(p+1))
*/