酷代码 AI
菜单
服务商

入三个正整数 𝑥 , 𝑦 , 𝑧 ,求它们的最大公约数 𝑔 。 输入 输入一行三个整数 𝑥 , 𝑦 , 𝑧 。 所有数据满足 1 <= 𝑥 , 𝑦 , 𝑧 <= 1000000 输出 输出一行一个整数g,表示x,y,z的最大公约数。 样例输入 复制 12 34 56 样例输出 复制 2

以下是使用 Python 语言解决此问题的代码: ```python # 定义求两个数最大公约数的函数 def gcd(a, b): while b: a, b = b, a % b return a # 读取输入的三个正整数 x, y, z = map(int, input().split()) # 先求 x 和 y 的最大公约数 g1 = gcd(x, y) # 再求 g1 和 z 的最大公约数 g = gcd(g1, z) # 输出结果 print(g) ``` 代码解释 1. `gcd` 函数:此函数用于计算两个数的最大公约数,采用的是欧几里得算法。在循环中,不断用较小数去除较大数并更新两个数的值,直到较小数为 0,此时较大数就是最大公约数。 2. 读取输入:使用 `input().split()` 读取一行输入并按空格分割成字符串列表,再用 `map(int, ...)` 将列表中的每个字符串转换为整数,最后将这三个整数分别赋值给 `x`、`y`、`z`。 3. 计算最大公约数:先调用 `gcd` 函数计算 `x` 和 `y` 的最大公约数 `g1`,再计算 `g1` 和 `z` 的最大公约数 `g`。 4. 输出结果:使用 `print` 函数输出最终的最大公约数 `g`。 [2025-12-14 12:44:51 | AI问答 | 334点数解答]

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