CCPC 2016 长春区域赛 B - Fraction (模拟)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxxjxw/article/details/84000663

HDU - 5912 

题目大意:

       给你一个分式,如图,求化简后的分子分母(最简)。

题解:

      数据范围很小,直接模拟分数的通分过程,最后约分即可。

#include<bits/stdc++.h>
#include<cstring>
#define ll long long
using namespace std;
int a[100],b[100];
int main()
{
    int T,n;
    cin>>T;
    for(int cas=1;cas<=T;++cas)
    {
        cin>>n;
        for(int i=1;i<=n;++i)
            cin>>a[i];
        for(int i=1;i<=n;++i)
            cin>>b[i];
        int up=b[n];
        int down=a[n];
        for(int i=n-1;i>=1;--i)
        {
            up+=a[i]*down;
            down*=b[i];
            swap(up,down);
        }
        int gcd=__gcd(up,down);
        up/=gcd;down/=gcd;
        cout<<"Case #"<<cas<<": "<<up<<' '<<down<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/hxxjxw/article/details/84000663