编写程序,求三个正整数的最小公倍数。(要求用到循环语句)注:输入:由键盘输入三个正整数由英文逗号分开;输出:一个整数
时间: 2023-05-22 12:01:39 浏览: 111
以下是求三个正整数的最小公倍数的程序:
```python
a, b, c = map(int, input().split(','))
def gcd(x, y):
while y:
x, y = y, x % y
return x
def lcm(x, y):
return x * y // gcd(x, y)
lcm_ab = lcm(a, b)
lcm_abc = lcm(lcm_ab, c)
print(lcm_abc)
```
输入格式为三个正整数,用英文逗号分开,例如:2,3,4
输出为一个整数,即三个正整数的最小公倍数。
注意:本程序使用了循环语句,其中 `while` 循环用于求最大公约数,`for` 循环没有使用,但也可以用于求最小公倍数。
相关问题
编写程序,求三个正整数的最小公倍数。(要求用到循环语句)。 注:输入:由键盘输入三个正整数,中间由英文逗号分开; 输出:一个整数 如输入:2,5,8 则输出:40 提醒:千万不要有任何多余的输入或输出符号,如\n等。
```python
a, b, c = map(int, input().split(',')) # 输入三个正整数
d = 1 # 初始化最小公倍数为1
i = 2 # 从2开始逐个尝试作为公因数
while a > 1 or b > 1 or c > 1: # 只要三个数中有任意一个大于1,就继续执行循环
if a % i == 0 or b % i == 0 or c % i == 0: # 如果i能够作为三个数中的公因数
d *= i # 更新最小公倍数
if a % i == 0: # 如果i是a的因数,就除掉a中的这个因数
a //= i
if b % i == 0: # 如果i是b的因数,就除掉b中的这个因数
b //= i
if c % i == 0: # 如果i是c的因数,就除掉c中的这个因数
c //= i
else:
i += 1 # 如果i无法作为公因数,就继续尝试下一个数
print(d) # 输出最小公倍数
```
注:除法符号「//」表示取整除,例如7 // 3的结果为2。
编写C程序,求三个正整数的最小公倍数。(要求用到循环语句)。 注:输入:由键盘输入三个正整数,中间由英文逗号分开; 输出:一个整数 如输入:2,5,8 则输出:40 提醒:千万不要有任何多余的输入或输出符号,如\n等。
我明白了,下面是答案:
```c
#include <stdio.h>
int main()
{
int a, b, c, i, max;
printf("");
scanf("%d,%d,%d", &a, &b, &c);
max = a > b ? a : b;
max = max > c ? max : c;
for (i = max; ; i++)
{
if (i % a == 0 && i % b == 0 && i % c == 0)
{
printf("%d", i);
break;
}
}
return 0;
}
```
请确认是否满足您的要求。
阅读全文