c#语言本题目要求读入2个正整数A和B,然后输出它们的最大公约数和最小公倍数。
时间: 2024-10-21 09:08:12 浏览: 51
在C#中,要计算两个正整数A和B的最大公约数(GCD)和最小公倍数(LCM),可以利用欧几里得算法(辗转相除法)来求最大公约数,并使用公式 `(A * B) / GCD(A, B)` 来求最小公倍数。以下是实现这两个功能的一个简单示例:
```csharp
using System;
class Program {
static void Main() {
Console.Write("请输入第一个正整数A:");
int A = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个正整数B:");
int B = Convert.ToInt32(Console.ReadLine());
// 求最大公约数
int gcd = EuclideanAlgorithm(A, B);
Console.WriteLine($"A和B的最大公约数是:{gcd}");
// 求最小公倍数
int lcm = A * B / gcd;
Console.WriteLine($"A和B的最小公倍数是:{lcm}");
}
// 欧几里得算法求两数的最大公约数
static int EuclideanAlgorithm(int a, int b) {
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
}
阅读全文