习题4-7 最大公约数和最小公倍数 (15 分)
时间: 2023-04-30 10:01:22 浏览: 115
题目描述:
输入两个正整数,计算它们的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(1≤M,N≤100)。
输出格式:
在一行中顺序输出输入的两个正整数的最大公约数和最小公倍数,两数间以1个空格分隔。
输入样例:
511 292
输出样例:
73 2044
解题思路:
最大公约数可以用辗转相除法求解,最小公倍数可以用两数之积除以最大公约数求解。
代码实现:
相关问题
1.(习题7.1)写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。2.(习题7.4)写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换。3.(习题7.5)写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
好的,我会依次回答您的三个问题。
1. 求最大公约数和最小公倍数的函数代码如下:
```python
# 求最大公约数的函数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 求最小公倍数的函数
def lcm(a, b):
return a * b // gcd(a, b)
# 主函数
if __name__ == '__main__':
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
2. 转置二维数组的函数代码如下:
```python
# 转置二维数组的函数
def transpose(matrix):
n = len(matrix)
m = len(matrix[0])
transposed = [[0] * n for _ in range(m)]
for i in range(n):
for j in range(m):
transposed[j][i] = matrix[i][j]
return transposed
# 主函数
if __name__ == '__main__':
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print("转置前的数组:", matrix)
matrix = transpose(matrix)
print("转置后的数组:", matrix)
```
3. 反序存放字符串的函数代码如下:
```python
# 反序存放字符串的函数
def reverse_string(s):
return s[::-1]
# 主函数
if __name__ == '__main__':
s = input("请输入一个字符串:")
s_reverse = reverse_string(s)
print("反序后的字符串:", s_reverse)
```
希望我的回答能够帮助到您!
python for 练习题
回答: 这里提供了三个Python的for循环练习题。第一个练习题是打印九九乘法表,使用嵌套的for循环来控制行和列,通过字符串格式化输出乘法表的结果。\[1\]第二个练习题是判断一个字符串是否由数字、字母和下划线组成,通过遍历字符串中的每个字符,使用条件判断来判断字符是否符合要求。如果有任何一个字符不符合要求,则输出False,否则输出True。\[1\]第三个练习题是求一个整数的阶乘,通过for循环来计算阶乘的结果。\[2\]另外还有一个练习题是求两个数的最大公约数和最小公倍数,通过for循环和条件判断来找出最大公约数,并使用公式计算最小公倍数。\[3\]这些练习题可以帮助提高对for循环的理解和应用能力。
#### 引用[.reference_title]
- *1* [Python基础练习题-for循环](https://blog.csdn.net/weixin_43219844/article/details/97615310)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Python之循环语句:for及相关练习题](https://blog.csdn.net/weixin_44826014/article/details/90577727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]