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;
            }
  • 相关阅读:
    find文件后cp、rm
    值得加分的
    对老师的评价
    关于Statement 与 PreparedStatement
    每日日报2021.1.14
    每日日报2020.1.12
    每日日报2021.1.11
    给自己算的加分项
    期末了,给老师提建议。
    每日日报2020 12/19
  • 原文地址:https://www.cnblogs.com/qixue/p/1669632.html
Copyright © 2011-2022 走看看