7-237 有理数加法 (15 分)

简介: 7-237 有理数加法 (15 分)

7-237 有理数加法 (15 分)


本题要求编写程序,计算两个有理数的和。


输入格式:


输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。


输出格式:


在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。


输入样例1:


1/3 1/6


结尾无空行


输出样例1:


1/2


结尾无空行


输入样例2:


4/3 2/3


输出样例2:


2


#include<iostream>
using namespace std;
int gcd(int a,int b){
    if(a%b==0)return b;
    return gcd(b,a%b);
}
int main(){
    int a1,b1,a2,b2,fm,fz,g;
    char c;
    cin>>a1>>c>>b1>>a2>>c>>b2;
    fz=a1*b2+a2*b1;
    fm=b1*b2;
    g=gcd(fz,fm);
    fz/=g;fm/=g;
    if(fm==1)cout<<fz;
    else cout<<fz<<"/"<<fm;
    return 0;
}
目录
相关文章
|
6月前
1034 有理数四则运算 (20 分)
1034 有理数四则运算 (20 分)
|
6月前
|
BI
1051 复数乘法 (15 分)
1051 复数乘法 (15 分)
|
算法 C++
剑指offer(C++)-JZ16:数值的整数次方(算法-位运算)
剑指offer(C++)-JZ16:数值的整数次方(算法-位运算)
leetcode-829. 连续整数求和(数论)
这题求连续正整数,刚好满足等差数列,可以用等差数列求和公式 n = (i + (i + k)) * (k + 1) / 2 其中i是连续正整数的首项,k是尾项和首项的差值
124 0
leetcode-829. 连续整数求和(数论)
求实数的整数次幂(循环版)(高效)(位运算解题)
说明:参数 x 为底数,n 为指数。若参数正确,则函数值为 x 的 n 次幂。若参数不正确(当底数为 0 且指数为 0 或负数时无意义),则报告错误,函数值为0。// 这个位运算是大部分都不熟悉也不敢用的东西,但是确实是编程里面的一个非常重要的工具。请编写函数,用循环语句以最快的方法求任意实数的任意整数次幂。要求:不得调用 pow 函数,不得使用递归方法。指数 二进制 公式。
232 0
求实数的整数次幂(循环版)(高效)(位运算解题)
PTA 1034 有理数四则运算 (20 分)
本题要求编写程序,计算 2 个有理数的和、差、积、商。
117 0