一道递归类型的题目,注意下一层到底是整数还是需要继续运算的算术表达式就没问题(╹ڡ╹ )
#include <iostream>
using namespace std;
typedef long long ll;
void f(ll p,ll q)
{
ll x=p/q;
ll y=p%q;
if(y==0)cout<<x;
else
{
cout<<x<<"+1/";
int x2=q%y;
if(y!=1&&x2!=0)cout<<"{";
f(q,y);
if(y!=1&&x2!=0)cout<<"}";
}
}
void solve(){
ll p,q;
cin>>p>>q;
cout<<p<<"/"<<q<<" = ";
f(p,q);
cout<<endl;
}
int main() {
int T;
cin>>T;
while(T--)
{
solve();
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号