使用for循环和break语句实现:输入两个自然数,输出最大公约数和最小公倍数
时间: 2024-05-12 10:19:37 浏览: 147
```python
a = int(input("请输入第一个自然数:"))
b = int(input("请输入第二个自然数:"))
# 求最大公约数
for i in range(min(a, b), 0, -1):
if a % i == 0 and b % i == 0:
gcd = i
break
# 求最小公倍数
for i in range(max(a, b), a * b + 1):
if i % a == 0 and i % b == 0:
lcm = i
break
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
```
输出结果:
```
请输入第一个自然数:12
请输入第二个自然数:18
最大公约数为: 6
最小公倍数为: 36
```
相关问题
使用for循环和break语句实现:输入两个自然数,输出最大公约数和最小公倍数。
num1 = int(input("请输入第一个自然数:"))
num2 = int(input("请输入第二个自然数:"))
# 求最大公约数
for i in range(min(num1, num2), 0, -1):
if num1 % i == 0 and num2 % i == 0:
gcd = i
break
# 求最小公倍数
for i in range(max(num1, num2), num1 * num2 + 1):
if i % num1 == 0 and i % num2 == 0:
lcm = i
break
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
c语言使用for循环和break语句实现:输入两个自然数,输出最大公约数和最小公倍数。
```c
#include <stdio.h>
int main()
{
int num1, num2, i, gcd, lcm;
printf("请输入两个自然数:\n");
scanf("%d%d", &num1, &num2);
for(i = 1; i <= num1 && i <= num2; i++)
{
if(num1 % i == 0 && num2 % i == 0)
gcd = i;
}
for(i = num1 * num2; i >= num1 && i >= num2; i--)
{
if(i % num1 == 0 && i % num2 == 0)
lcm = i;
}
printf("%d和%d的最大公约数是:%d\n", num1, num2, gcd);
printf("%d和%d的最小公倍数是:%d\n", num1, num2, lcm);
return 0;
}
```
阅读全文