<s>Human: 给出两个数，计算它们的最大公约数和最小公倍数。
数1：45
数2：60
</s><s>Assistant: 解题思路：

最大公约数可以使用辗转相除法（又叫欧几里得算法）进行计算，即不断将大数与小数取余，然后用被除数替换除数，除数替换余数，直到余数为0，此时除数就是最大公约数。

最小公倍数可以通过最大公约数和两个数的乘积计算得到，即最小公倍数=两数乘积÷最大公约数。

根据以上公式，可以通过代码实现求解。

代码如下：

```
num1 = 45
num2 = 60

# 计算最大公约数
a, b = max(num1, num2), min(num1, num2)
while b:
    a, b = b, a % b
gcd = a

# 计算最小公倍数
lcm = num1 * num2 // gcd

print("最大公约数为：", gcd)
print("最小公倍数为：", lcm)
```

代码输出：

```
最大公约数为： 15
最小公倍数为： 180
```
</s>