【算法】 斐波那契数列
【算法】 斐波那契数列
/// <summary>
/// 递归方式
/// </summary>
/// <param name="n"></param>
/// <returns></returns>
public static int Fn(int n)
{
if (Default(n)) return 1;
return Fn(n - 1) + Fn(n - 2);
}
/// <summary>
/// 循环方式
/// </summary>
/// <param name="n"></param>
/// <returns></returns>
public static int FnFor(int n)
{
if (Default(n)) return 1;
int first = 1;
int second = 1;
for (int i = 3; i <= n; i++)
{
second = first + (first = second);
}
return second;
}
/// <summary>
/// 默认处理
/// </summary>
/// <param name="n"></param>
/// <returns></returns>
private static bool Default(int n)
{
if (n <= 0)
{
throw new Exception("输入的数字必须是大于0的整数");
}
return n <= 2;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。