
C#中的递归求和算法
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文介绍了在C#编程语言中实现递归求和算法的方法,通过实例代码详细解释了如何使用函数调用自身来计算一系列数字的总和。
下面是一个适合C#新手学习的简单代码示例,演示了如何使用递归实现阶乘求解及最大公约数计算:
```csharp
class Class1 {
public int fac(int n) { // 用于计算n的阶乘的方法
if (n == 0 || n == 1)
return 1;
else
return n * fac(n - 1);
}
}
class Program {
static void Main(string[] args) {
Class1 aa = new Class1();
Console.WriteLine(请输入待求阶乘的数:);
int n = Convert.ToInt32(Console.ReadLine());
int result;
result = aa.fac(n); // 调用Class1类中的fac方法计算n的阶乘
Console.WriteLine($该数的阶乘为:{result});
Console.WriteLine(-------------------------);
Console.WriteLine(求最大公约数);
Console.WriteLine(请输入第一个数:);
int num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(请输入第二个数:);
int num2 = Convert.ToInt32(Console.ReadLine());
Program pg = new Program();
int rst;
rst = pg.GCD(num1, num2); // 调用GCD方法计算两个整数的最大公约数
Console.WriteLine($最大公约数为:{rst});
Console.ReadLine(); // 等待用户按键退出
}
public int GCD(int a, int b) { // 计算两正整数a和b的最大公约数的递归方法
if (b == 0)
return a;
else
return GCD(b, a % b);
}
}
```
这段代码首先定义了一个`Class1`类,其中包含一个名为`fac()`的方法用于计算阶乘。然后,在主函数中创建了这个类的一个实例,并调用了该方法来获取用户输入的数n的阶乘结果。
接着程序展示了如何通过递归方式求解两个整数的最大公约数(GCD)。在主函数里,先提示用户依次输入两个正整数a和b,然后计算并输出这两个数字的最大公约数值。
全部评论 (0)


