1. E = B / A + 1;
  2. 输出1/E;
  3. A = A E - B; B = B E;
  4. 求A和B的最大公约数R,如果R不为1,则将A和B同时除以R;
  5. 如果A等于1,则输出1/B,算法结束;否则转步骤1重复执行;


void EgyptFraction(int A, int B)
{
int E, R;
cout << A << "/" << B << "=";
do
{
E = B / A + 1;
cout << "1/" << E << "+";
A = A * E - B;
B = B * E;
R = gcd(B, A); //调用函数求A和B的最大公约数
if (R > 1)
{
A = A / R;
B = B / R;
}
} while (A > 1)

cout << "1/" << B << endl;
return;
}