zoukankan      html  css  js  c++  java
  • CSUOJ 1638 Continued Fraction

    1638: Continued Fraction

    Time Limit: 1 Sec  Memory Limit: 128 MB

    Description

     

     

     

     

     

     

     

    Input

    Output

    Sample Input

    4 3
    5 1 1 2
    5 2 2

    Sample Output

    11
    0 5
    30 4 6
    1 27

    HINT

     

    Source

    解题:主要任务是把任一一个分数化成连分式。
     
    方法就是分子分母同时不断的除以分子,直到分子为0。
     
    至于加,减,乘,除都是先算出分数,然后把分数化成连分数。。
     
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long LL;
     4 int n,m,a1[20],a2[20];
     5 LL gcd(LL x,LL y){
     6     return y?gcd(y,x%y):x;
     7 }
     8 void dfs(LL &A,LL &B,int *arr,int cur,int dep){
     9     if(cur == dep-1){
    10         A = arr[cur];
    11         B = 1;
    12     }
    13     if(cur >= dep-1) return;
    14     LL tmpA,tmpB;
    15     dfs(tmpA,tmpB,arr,cur+1,dep);
    16     LL theGCD = gcd(A = arr[cur]*tmpA + tmpB,B = tmpA);
    17     A /= theGCD;
    18     B /= theGCD;
    19 }
    20 void print(LL x,LL y){
    21     LL GCD = gcd(x,y);
    22     LL tmp = (x /= GCD)/(y /= GCD),p = x - tmp*y;
    23     printf("%lld%c",tmp,p?' ':'
    ');
    24     if(p) print(y,p);
    25 }
    26 int main(){
    27     while(~scanf("%d %d",&n,&m)){
    28         for(int i = 0; i < n; ++i) scanf("%d",a1+i);
    29         for(int i = 0; i < m; ++i) scanf("%d",a2+i);
    30         LL A1 = 0,B1 = 1,A2 = 0,B2 = 1;
    31         dfs(B1,A1,a1,1,n);
    32         dfs(B2,A2,a2,1,m);
    33         A1 += a1[0]*B1;
    34         A2 += a2[0]*B2;
    35         print(A1*B2 + A2*B1,B1*B2);
    36         print(A1*B2 - A2*B1,B1*B2);
    37         print(A1*A2,B1*B2);
    38         print(A1*B2,A2*B1);
    39     }
    40     return 0;
    41 }
    View Code
  • 相关阅读:
    ABAP开发常见任务
    sap smartform 打印乱码问题
    根据T-Code查看用户出口的代码
    java 调用SAP RFC函数错误信息
    代码单行超过72个字符的一个异常
    SAP 权限层次
    标准屏幕字段描述修改
    [转]SAP一句话入门SD模块
    Python3.7,os模块
    Python3,逻辑运算符
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/4553336.html
Copyright © 2011-2022 走看看