c#求两个数最大公约数
时间: 2023-07-27 13:26:21 浏览: 126
可以使用辗转相除法求两个数的最大公约数,具体实现代码如下:
```
public static int GCD(int a, int b)
{
while (b != 0)
{
int temp = a % b;
a = b;
b = temp;
}
return a;
}
```
在这个方法中,我们使用 while 循环不断对两个数进行取模运算,直到其中一个数为 0,此时另一个数就是最大公约数。
相关问题
c#求两个数的最大公约数和最小公倍数
最大公约数可以使用辗转相除法来求解,具体步骤如下:
1. 求出两个数中较大的数和较小的数;
2. 用较大的数除以较小的数,得到余数;
3. 如果余数为,则较小的数就是最大公约数;
4. 如果余数不为,则用较小的数除以余数,得到新的余数;
5. 重复步骤3和4,直到余数为,此时较小的数就是最大公约数。
最小公倍数可以通过最大公约数来求解,具体公式为:
最小公倍数 = 两数之积 / 最大公约数
C#代码实现如下:
```
using System;
class Program
{
static void Main(string[] args)
{
int num1 = 12;
int num2 = 18;
int gcd = Gcd(num1, num2);
int lcm = Lcm(num1, num2, gcd);
Console.WriteLine("最大公约数为:" + gcd);
Console.WriteLine("最小公倍数为:" + lcm);
}
// 求最大公约数
static int Gcd(int a, int b)
{
int temp;
while (b != )
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍数
static int Lcm(int a, int b, int gcd)
{
return a * b / gcd;
}
}
```
c#输入两个正整数,求它们的最大公约数
可以使用辗转相除法求两个数的最大公约数,具体实现代码如下:
```
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() 方法输出最大公约数。