原错误代码:#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
void reduce(int& p, int& q) {
int d = gcd(p, q);
p /= d;
q /= d;
}
int main() {
int p, q;
cin >> p >> q;
reduce(p, q);
vector<int> egypt;
while (p > 1) {
int a = (q + p - 1) / p;
egypt.push_back(a);
p = a * p - q;
q *= a;
reduce(p, q);
}
egypt.push_back(q);
for (int i = 0; i < egypt.size(); i++) {
cout << "1/" << egypt[i];
if (i < egypt.size() - 1) {
cout << " + ";
}
}
cout << endl;
return 0;
}
求助