B---连分数
#include<iostream>
#include<string>
using namespace std;
typedef long long ll;
int main() {
int t;
cin >> t;
string s;
getchar();
while (t--) {
ll a, b;
getline(cin, s);
sscanf(&s[0], "%lld %lld", &a, &b);//将字符串按格式转换为两个数字a,b
cout << a << "/" << b << " = ";
if (a % b == 0) {
cout << a / b << endl;
}
else {//递归求解
ll c, d, e, sum = 0;
do {
c = a / b;
d = a % b;
a = b;
b = d;
if (a % b != 0) {
sum++;
cout << c << "+1/{";
}
else {
cout << c << "+1/";
}
} while (a % b != 0);
cout << a / b;
for (int i = 0; i < sum; i++) {
cout << "}";
}cout << endl;
}
}
} 
京公网安备 11010502036488号