一问题描述
现输入一个真分数,请将该分数分解为埃及分数。
2二问题分析
真分数(a proper fraction):分子比分母小的分数,叫做真分数。真分数的分数值小于
1.如1/2,3/5,8/9等。
分子是1的分数,叫单位分数。古代埃及人在进行分数运算时,只使用分子是1的分数。因此这种分数也叫做埃及分数,或者叫单分子分数。
如 8/11=1/2+1/5+1/55+1/110。
我们约定分子分母都是自然数,分数的分子用a表示,分母用b表示。

三程序流程图

 

四伪代码实现

#include<iostream>
using namespace std;
int main(){
long int a,b,c;
cin>>a>>b;
while(1){
if(b%a){
c=b/a+1;
}
else{
c=b/a;
a=1;
}
if(a==1){
cout<<"1/"<<c;
break;
}
else{
cout<<"1/"<<c<<"+";
}
a=a*c-b;
b=b*c;
if(a==3&&b%2==0){
cout<<"1/"<<c/2<<"+1/"<<c;
break;
}
}
}

五代码实现