zoukankan      html  css  js  c++  java
  • 雷:面试时被问到fibonacci

    1 1 2 3 5 8...

    递归:

    代码
            static int FibonacciRecursive(int n)
            {        
                
    if (n == 1 || n == 2)
                    
    return 1;
                
    else if (n >= 2)
                {
                    
    return FibonacciRecursive(n - 1+ FibonacciRecursive(n - 2);
                }
                
    else if (n <= 0)
                {
                    
    throw new ArgumentNullException(string.Format("{0} is illegal", n));              
                }
                
    return 0;
            }

    非递归:

    代码
            static int Fibonacci(int n)
            {
                
    int lastNumber=1;
                
    int secondNumber=1;
                
    int currentNumber = 1;
                
    if (n > 0)
                {
                    
    for (int i = 3; i <= n; i++)
                    {                   
                        currentNumber 
    = lastNumber+secondNumber;
                        secondNumber 
    = lastNumber;
                        lastNumber 
    = currentNumber;
                    }
                }
                
    else
                {
                    
    throw new ArgumentNullException(string.Format ("{0} is not a legal number",n));
                }
                
    return currentNumber;
            }
  • 相关阅读:
    sublime text3安装package control插件图文教程
    conda创建新环境
    常用的vscode插件安装
    数组合并组合
    内核软死锁
    Ubuntu分区格式化并挂载新增磁盘方法
    Linux如何列出svn一个文件夹下的所有文件
    C++ UTF-8和GBK相互转化
    Linux shell如何用正则表达式匹配分组数据
    如何对接jsoncpp?
  • 原文地址:https://www.cnblogs.com/qixue/p/1669632.html
Copyright © 2011-2022 走看看