简单的分数运算,签到题
#include<bits/stdc++.h> using namespace std; int p[15],q[15]; int gcd(int a,int b){return b==0?a:gcd(b,a%b);} int lcm(int a,int b){return a*b/gcd(a,b);} void sol(int k,int a,int b){ if (0==k) { int tt=__gcd(a,b); printf("%d %d ",a/tt,b/tt); } else sol(k-1,b*q[k], b*p[k]+a); } int main(){ int t,n,cas=1; cin>>t; while(t--){ cin>>n; for(int i=1;i<=n;i++)cin>>p[i]; for(int i=1;i<=n;i++)cin>>q[i]; printf("Case #%d: ",cas++); sol(n,0,1); } return 0; }