c#语言中本题目要求读入2个正整数A和B,然后用辗转相除法输出它们的最大公约数和最小公倍数。
时间: 2024-10-21 09:08:14 浏览: 48
在C#中,你可以通过编写一个简单的函数来实现这个功能。辗转相除法也被称为欧几里得算法,它是求两个正整数最大公约数的有效方法。以下是使用循环和模运算来计算最大公约数(MOD)的过程:
```csharp
using System;
public class GCD_LCM
{
// 辗转相除法计算最大公约数
public static int EuclideanAlgorithm(int a, int b)
{
while (b != 0)
{
int temp = a % b;
a = b;
b = temp;
}
return a; // 最大公约数就是a
}
// 计算最小公倍数(LCM)
public static int LCM(int num1, int num2)
{
int gcd = EuclideanAlgorithm(num1, num2);
return num1 * num2 / gcd;
}
public 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);
int lcm = LCM(A, B);
Console.WriteLine($"最大公约数(GCD):{gcd}");
Console.WriteLine($"最小公倍数(LCM):{lcm}");
}
}
```
当你运行这段代码,它会提示用户输入两个正整数,然后输出这两个数的最大公约数和最小公倍数。
阅读全文