C++/Python 实现 - 计算多个分数的乘积并化简
计算多个分数的乘积并化简
本篇博客文章将介绍如何计算多个分数的乘积,并将结果化简为最简分数形式。我们将使用 C++ 和 Python 两种编程语言来实现该算法。
问题描述
给定 n 个分数,每个分数由分子和分母组成,计算所有分数的乘积,并将结果表示为最简分数形式。
解题思路
- 计算分子和分母的乘积: 将所有分数的分子相乘得到最终分子的乘积,将所有分数的分母相乘得到最终分母的乘积。
- 求最大公约数 (GCD): 使用辗转相除法求出最终分子和分母的最大公约数。
- 化简分数: 将最终分子和分母分别除以它们的最大公约数,得到最简分数形式。
代码实现
以下是使用 C++ 和 Python 实现该算法的代码:
C++:
#include <iostream>
#include <algorithm>
using namespace std;
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
int main() {
int n, a, b, numerator = 1, denominator = 1;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a >> b;
numerator *= a;
denominator *= b;
}
int commonDivisor = gcd(numerator, denominator);
cout << numerator / commonDivisor << '/' << denominator / commonDivisor << endl;
return 0;
}
Python:
from math import gcd
n = int(input())
numerator = 1
denominator = 1
for i in range(n):
a, b = map(int, input().split())
numerator *= a
denominator *= b
common_divisor = gcd(numerator, denominator)
print(f'{numerator // common_divisor}/{denominator // common_divisor}')
示例
输入:
3
1 2
3 4
2 5
输出:
3/10
总结
本文介绍了如何使用 C++ 和 Python 计算多个分数的乘积并化简为最简分数形式。该算法简单易懂,可以方便地应用于实际问题中。
原文地址: https://www.cveoy.top/t/topic/dogu 著作权归作者所有。请勿转载和采集!