c#输入两个正整数,求它们的最大公约数
时间: 2023-07-27 07:26:21 浏览: 108
可以使用辗转相除法求两个数的最大公约数,具体实现代码如下:
```
Console.WriteLine("请输入两个正整数:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
while (b != 0)
{
int temp = a % b;
a = b;
b = temp;
}
Console.WriteLine($"它们的最大公约数为:{a}");
```
在这个代码中,我们先通过 Console.ReadLine() 方法分别读入两个正整数,并使用 while 循环不断对两个数进行取模运算,直到其中一个数为 0,此时另一个数就是最大公约数。最后通过 Console.WriteLine() 方法输出最大公约数。
相关问题
c# 控制台 输入两个正整数m和n,求其最大公约数和最小公倍数
以下是C#控制台程序求最大公约数和最小公倍数的代码示例:
```csharp
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入第一个正整数m:");
int m = int.Parse(Console.ReadLine());
Console.Write("请输入第二个正整数n:");
int n = int.Parse(Console.ReadLine());
int gcd = GetGcd(m, n);
int lcm = GetLcm(m, n, gcd);
Console.WriteLine("{0}和{1}的最大公约数为{2}", m, n, gcd);
Console.WriteLine("{0}和{1}的最小公倍数为{2}", m, n, lcm);
Console.ReadKey();
}
// 求最大公约数
static int GetGcd(int m, int n)
{
if (n == 0)
{
return m;
}
else
{
return GetGcd(n, m % n);
}
}
// 求最小公倍数
static int GetLcm(int m, int n, int gcd)
{
return m * n / gcd;
}
}
}
```
用c#写一段代码,输入两个正整数 m 和 n ,求其最大公约数和最小公倍数。
可以使用下面的 C# 代码求解两个正整数 m 和 n 的最大公约数和最小公倍数:
```csharp
using System;
class Program {
static void Main(string[] args) {
int m, n;
Console.Write("请输入第一个正整数 m:");
m = int.Parse(Console.ReadLine());
Console.Write("请输入第二个正整数 n:");
n = int.Parse(Console.ReadLine());
int a = m, b = n;
while (b != 0) {
int r = a % b;
a = b;
b = r;
}
int gcd = a;
int lcm = m * n / gcd;
Console.WriteLine("最大公约数为:" + gcd);
Console.WriteLine("最小公倍数为:" + lcm);
}
}
```
代码中,我们先使用 Console.ReadLine() 方法分别读入两个正整数 m 和 n,然后使用辗转相除法求它们的最大公约数 gcd。最后,通过公式 m * n / gcd 计算最小公倍数 lcm 并输出结果。