当前位置: 首页 > news >正文

pta天梯L1-009 N个数求和

L1-009 N个数求和 - 团体程序设计天梯赛-练习集

from math import gcd,lcm
n = int(input())
arr = map(str,input().split())
a,b = [],[]
for i in arr:
    sta = ''
    for j in i:
        if j == '/':
            a.append(int(sta))
            sta = ''
        else:
            sta += j
    b.append(int(sta))
an = 1
for i in b:
    an = lcm(i,an)
for i in range(n):
    a[i] = a[i] * (an // b[i])
bn = sum(a)
if bn < 0:
    bn = -1 * bn
    ans1 = bn // an
    bn = bn % an
    cn = gcd(an, bn)
    ans = str(bn // cn) + '/' + str(an // cn)
    if ans1 != 0:
        if bn % an != 0:
            print(-1 * ans1,'-' + ans)
        else:
            print(-1 * ans1)
    else:
        if bn % an != 0:
            print('-' + ans)
        else:
            print(0)
else:
    ans1 = bn // an
    bn = bn % an
    cn = gcd(an, bn)
    ans = str(bn // cn) + '/' + str(an // cn)
    if ans1 != 0:
        if bn % an != 0:
            print(ans1,ans)
        else:
            print(ans1)
    else:
        if bn % an != 0:
            print(ans)
        else:
            print(0)

相关文章:

  • 第一章:觉醒
  • 【GPU机器数据传输】Linux系统中跨机器大规模数据传输,rsync | bbcp | scp | sftp 对比。
  • Python 字典与集合:从入门到精通的全面解析
  • win10下安装wireshark的问题
  • C#中使用System.Net库实现自动发送邮件功能
  • 汽车v型推力杆总成三维5自由度性能及疲劳测试系统
  • Python解决“比赛配对”问题
  • 进程 ─── linux第10课
  • easyx--上半部分
  • DeepSeek写连连看手机小游戏
  • 算法题(80):环形链表II
  • 002 docker安装rocketmq
  • C#上位机--二级运算符
  • unity学习61:UI布局layout
  • 如何实现某短视频平台批量作品ID的作品详情采集
  • 图数据库Neo4j面试内容整理-Neo4j 数据库模型设计
  • React + TypeScript 数据模型驱动数据字典生成示例
  • PR 安装包 2018-2024(Win,Mac)文中为使用技巧和教程
  • Python毕业设计选题:基于协同过滤算法的儿童图书推荐系统_django
  • ‌KNN算法优化实战分享——基于空间数据结构的工业级实战指南
  • 最先进的深圳网站建设/汽车网络营销的方式有哪些
  • 网站建设的总结/友情链接模板
  • 郑州装修公司排名推荐/seo关键词优化推广哪家好
  • 公司有网站域名后如何建网站/六盘水seo