hdu 5912Fraction

简单的分数运算,签到题

 

#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\n",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;
}
View Code

 

posted @ 2016-10-04 18:02  N维解析几何  阅读(260)  评论(0编辑  收藏  举报