1081 Rational Sum

#include<iostream>

#include<cstdlib>

using namespace std;

//计算最大共公约数

long long gcp(long long a,long long b){

if(b==0){

return abs(a);

}

return gcp(b,a%b);

}

int main(){

long long n,a,b;

long long suma=0,sumb=1,value;

cin>>n;

for(int i=0;i<n;i++){

char slash;

cin>>a>>slash>>b;//读取分子,"/",分母

//约分当前分数

value=gcp(a,b);

a=a/value;

b=b/value;

//进行分数加法

suma=a*sumb+b*suma;

sumb=b*sumb;

//对结果进行约分

value=gcp(suma,sumb);

suma=suma/value;

sumb=sumb/value;

}

//分离整数和分数

long long integer=suma/sumb;

suma=suma-(sumb*integer);

//输出结果

if(integer!=0){

cout<<integer;

if(suma!=0){

cout<<" ";

}

}

if(suma!=0){

cout<<suma<<"/"<<sumb;

}

if(integer==0&&suma==0){

cout<<"0";

}

cout<<endl;

return 0;

}

相关推荐
Carlgood-Minecraft40 分钟前
随机分位系统破解版 (BPS)Version-B4.2
c++
^yi1 小时前
【Linux系统编程】进程状态的理解
算法·僵尸进程·孤儿进程·进程状态·挂起状态·阻塞状态
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-7 12-24小时制(C语言实现)
c语言·开发语言·数据结构·算法
雨落在了我的手上2 小时前
Java数据结构(八):双链表的实现
数据结构
长不胖的路人甲2 小时前
二叉排序树(BST)Java 完整实现 + 删除思路详解
java·开发语言·算法
geovindu2 小时前
python: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·python·算法·搜索算法
长不胖的路人甲2 小时前
可达性分析法(根搜索算法)完整详解
java·jvm·算法
paeamecium2 小时前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat
青山木2 小时前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先
海兰2 小时前
【高速缓存】RedisVL 存储类型选择指南:Hash 与 JSON
人工智能·redis·算法·缓存·json·哈希算法