zoukankan      html  css  js  c++  java
  • 88. 分数加法

    3800 分数加法

     

     时间限制: 1 s
     空间限制: 1000 KB
     题目等级 : 白银 Silver
    题目描述 Description

    输入两个分数A和B,输出他们的和。

    输入描述 Input Description

    a/b c/d

    b,d是分母

    a,c是分子

    输出描述 Output Description

    a/b+c/d和

    要约分

    样例输入 Sample Input

    1/1 1/1

    样例输出 Sample Output

    2

    数据范围及提示 Data Size & Hint

    输入为int

    分类标签 Tags 点此展开 

    暂无标签
    代码:
    #include
    using namespace std;
    #include
    int a1,a2,b1,b2,c1,c2;
    int gyshu(int a,int b)
    {
    if(a
    swap(a,b);
    int c=a-b;
    while(b!=c&&c>=0)
    {
    a=b;
    b=c;
    if(a
       swap(a,b);
    c=a-b;
    }
    if(b==c) return c;
    return 1;
    }
    int gbshu(int a,int b)
    {
    return a*b/gyshu(a,b);
    }
    int main()
    {
    scanf("%d/%d%d/%d",&a1,&a2,&b1,&b2);//注意用scanf把输入的“/”吃掉,否则会报错 
    int k=a2;
    if(a2!=b2)//下面是分数加法的过程 
    {
           k=gbshu(a2,b2);
    }
    a1=a1*(k/a2);b1*=(k/b2);
    c2=k;
    c1=a1+b1;
    k=gyshu(c1,c2);//最后结果的约分 
    c1/=k;
    c2/=k;
    if(c2==1)
    printf("%d",c1);
    else{
    printf("%d/%d",c1,c2);
    }
    return 0;
    }
  • 相关阅读:
    LeetCode 234. 回文链表
    LeetCode 237. 删除链表中的节点
    LeetCode 20. 有效的括号( 括号配对 )
    堆栈操作合法性
    堆排序
    最大堆
    快速排序
    Bzoj1497 [NOI2006]最大获利
    Bzoj1001 [BeiJing2006]狼抓兔子
    Bzoj2716 [Violet 3]天使玩偶
  • 原文地址:https://www.cnblogs.com/c1299401227/p/5370732.html
Copyright © 2011-2022 走看看