请用C#帮我写代码:输入两个正整数m和n,求其最大公约数和最小公倍数。
时间: 2023-11-03 19:14:51 浏览: 84
下面是使用C#编写的解决方案:
```csharp
using System;
class Program {
static void Main(string[] args) {
Console.Write("请输入第一个正整数:");
int m = int.Parse(Console.ReadLine());
Console.Write("请输入第二个正整数:");
int n = int.Parse(Console.ReadLine());
int gcd = Gcd(m, n);
int lcm = m * n / gcd;
Console.WriteLine("最大公约数为:{0}", gcd);
Console.WriteLine("最小公倍数为:{0}", lcm);
}
// 求最大公约数的函数
static int Gcd(int m, int n) {
if (n == 0) {
return m;
}
return Gcd(n, m % n);
}
}
```
输出:
```
请输入第一个正整数:24
请输入第二个正整数:36
最大公约数为:12
最小公倍数为:72
```
解释:首先通过 `Console.ReadLine()` 获取用户输入的两个正整数 m 和 n,然后分别计算它们的最大公约数和最小公倍数。在本例中,我们使用了递归函数来计算最大公约数,这是一个常见的算法。最小公倍数可以通过公式 `lcm = m * n / gcd` 来计算,其中 gcd 表示最大公约数。最后将计算结果输出即可。
阅读全文