
L1-009 N个数求和 (20 分)
读取输入:首先读取一个正整数N,然后读取N个有理数。 处理分数:将每个有理数作为分子和分母处理,确保分母为正数。 逐次相加:将每个分数逐次加到总和中,使用交叉相乘的方法进行加法运算。 化简分数:在每次相加后,计算分子和分母的最大公约数(GCD),将分子和分母同时除以GCD以保持分数的最简形式。 分离整数部分和分数部分:将总和分成整数部分和分数部分,分别处理输出。 读取输入:使用 初始化总和:将总和初始化为0/1。 处理每个分数:将每个分数的分子和分母读取为整数,并确保分母为正数。 交叉相乘和相加:计算新的分子和分母,然后化简分数。 分离整数部分和分数部分:计算整数部分和余数,根据要求格式化输出结果。
发布日期:2021-05-08 16:28:57
浏览次数:16
分类:精选文章
本文共 1292 字,大约阅读时间需要 4 分钟。
为了解决这个问题,我们需要计算N个有理数的和,并将结果以最简形式输出。最简形式包括整数部分和分数部分,分数部分必须是小于分母且没有公因子的分数。
方法思路
解决代码
import mathn = int(input())fractions = input().split()total_numerator = 0total_denominator = 1for frac in fractions: a_str, b_str = frac.split('/') a = int(a_str) b = int(b_str) # 确保分母为正数 if b < 0: a = -a b = -b # 计算新的分子和分母 new_numerator = total_numerator * b + a * total_denominator new_denominator = total_denominator * b # 计算gcd g = math.gcd(abs(new_numerator), abs(new_denominator)) total_numerator = new_numerator // g total_denominator = new_denominator // g# 处理整数部分和分数部分integer_part = total_numerator // total_denominatorremainder = total_numerator % total_denominatorif remainder == 0: print(integer_part)else: if integer_part == 0: print(f"{remainder}/{total_denominator}") else: print(f"{integer_part} {remainder}/{total_denominator}")
代码解释
input()
读取N和分数字符串。这个方法确保了在处理大数时不会溢出,并且每次相加后都保持分数的最简形式,从而保证了结果的准确性。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月18日 22时00分48秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SpringBoot @Value与@ConfigurationProperties比较
2019-03-15
关于Linux系统中touch命令的说明
2019-03-15
剑指Offer03-数组中重复的数字
2019-03-15
将windows里的内容直接复制粘贴到ubuntu,提高效率
2019-03-15
将tomcat设置成window自启动服务
2019-03-15
17蓝桥试题之承压计算
2019-03-15
webservice 远程服务器返回错误:(400)错误的请求
2019-03-15
给JS对象添加扩展方法
2019-03-15
bat中rar压缩命令
2019-03-15
[日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
2019-03-15
[PHP] 工厂模式的日常使用
2019-03-15
[PHP] 控制反转依赖注入的日常使用
2019-03-15
[PHP] try catch在日常中的使用
2019-03-15
[Linux] 进程间通信
2019-03-15
[PHP] error_reporting(0)可以屏蔽Fatal error错误
2019-03-15
[PHP] 解决php中上传大文件的错误
2019-03-15
[Linux] 使用awk比较两个文件的内容
2019-03-15
[Git] 彻底删除github上的某个文件以及他的提交历史
2019-03-15
[Go] gin框架渲染html字符串
2019-03-15
[js] js中的闭包以及特点
2019-03-15