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;
            }
  • 相关阅读:
    ElasticSearch 之 Client
    Ubuntu 更新源
    ThinkPad 禁用 触摸板
    编译OpenGL代码时发生 Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed! 错误的解决方案
    python 自动认证登录
    RIDE的使用
    robotframework的分支和循环
    webdriver入门
    python字符串中的中文处理
    带认证的页面的自动认证登录
  • 原文地址:https://www.cnblogs.com/qixue/p/1669632.html
Copyright © 2011-2022 走看看