酷代码 AI
菜单

输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为1,则直接用整数表示。 如: 、 均是最简形式,而 需要化简为 , 需要化简为3。 分子和分母均不为0,也不为负数。 输入 第一行是一个整数n,表示分数个数,1≤n≤10; 接下来n行,每行一个分数,用"p/q"的形式表示,不含空格,p,q均不超过10。 输出 输出只有一行,即最终结果的最简形式。若为分数,用"p/q"的形式表示。 样例输入 复制 2 1/2 1/3 样例输出 复制 5/6 来源/分类

以下是使用Python实现的代码: ```python # 定义求最大公约数的函数 def gcd(a, b): while b: a, b = b, a % b return a # 读取分数的个数 n = int(input()) # 初始化分子和分母 numerator = 0 denominator = 1 # 循环读取每个分数 for _ in range(n): fraction = input() p, q = map(int, fraction.split('/')) # 通分相加 numerator = numerator * q + p * denominator denominator *= q # 求分子分母的最大公约数 common_divisor = gcd(numerator, denominator) # 化简分数 numerator //= common_divisor denominator //= common_divisor # 输出结果 if denominator == 1: print(numerator) else: print(f"{numerator}/{denominator}") ``` 代码解释: 1. `gcd`函数:用于计算两个数的最大公约数,使用欧几里得算法实现。 2. 读取输入:首先读取分数的个数`n`,然后循环`n`次,每次读取一个分数,将其拆分为分子`p`和分母`q`。 3. 通分相加:将每个分数通分后加到分子`numerator`上,同时更新分母`denominator`。 4. 化简分数:计算分子和分母的最大公约数`common_divisor`,然后将分子和分母同时除以最大公约数进行化简。 5. 输出结果:如果化简后的分母为1,则直接输出分子;否则,以`p/q`的形式输出分数。 [2026-01-24 13:08:27 | AI问答 | 392点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多