贪心问题-埃及分数

埃及分数

推导过程:
在这里插入图片描述代码实现:

#include<iostream>
using namespace std;
int gcd(int x, int y) {
	return !y ? x : gcd(y, x % y);
}
void EgyptFraction(int A, int B)
{
	cout << A << "/" << B << "=";
	do 
	{
		int E = B / A + 1;//C=B/A
		A = A * E - B;
		B = B * E;
		int t = gcd(B, A);//B>A
		if (t > 1) A /= t, B /= t;
		cout << "1/" << E << "+";
	}while(A != 1);
	cout << "1/" << B;
}
int main() {
	int mol, den;//分子,分母
	cin >> mol >> den;
	EgyptFraction(mol, den);
	return 0;
}

posted on 2022-01-21 21:34  不依法度  阅读(32)  评论(0)    收藏  举报

导航