• 雷:面试时被问到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;
            }
  • 相关阅读:
    CodeForces 103D 分块处理
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    HYSBZ 1588 营业额统计
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    ACM学习历程—POJ3565 Ants(最佳匹配KM算法)
  • 原文地址:https://www.cnblogs.com/qixue/p/1669632.html
Copyright © 2020-2023  润新知