HDU 5912 Fraction (2016-ccpc-长春)

来源:互联网 发布:数据流程图例题 编辑:程序博客网 时间:2024/05/16 10:37

题目连接:题目

求公式结果,数据量比较小,递归一下就行了,和某年的蓝桥杯一个题一样

#include<cmath>#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 10;int n;int a[maxn],b[maxn];int gcd(int x,int y){    if(x==0) return y;    else return gcd(y%x,x);}void dfs(int &x,int &y,int t){    if(t==n){        x=a[t-1]*a[t]+b[t];        y=a[t];    }else{        dfs(x,y,t+1);        int  q,p;q=a[t-1]*x+b[t]*y;        p=x;        //int k=gcd(p,q);         x=q;        y=p;            }}int main(){//freopen("t.txt","r",stdin);    int t;    scanf("%d",&t);    for(int p=1;p<=t;p++){        printf("Case #%d: ",p);        scanf("%d",&n);        a[0]=0;        b[0]=1;        for(int i=1;i<=n;i++){            scanf("%d",&a[i]);        }        for(int i=1;i<=n;i++){            scanf("%d",&b[i]);        }        int x,y;        dfs(x,y,1);        int k=gcd(x,y);        printf("%d %d\n",x/k,y/k);    }    return 0;}


0 0
原创粉丝点击