zoukankan      html  css  js  c++  java
  • 给定斐波那契数列的项数求对应的数值的普通方法和优化处理

     1 /**
     2  给定斐波那契数列的项数求对应的数值
     3  参考:剑指Offer
     4  */
     5 #include <stdio.h>
     6 
     7 int fib(int n);
     8 long long fibonacci(unsigned int n);
     9 int main(int argc, const char * argv[]) {
    10     
    11     int n;
    12     
    13     while (1) {
    14         
    15         printf("请输入你想知道到的斐波那契数列的项数:	");
    16         scanf("%d",&n);
    17         int result = fib(n);
    18         long long googResult = fibonacci(n);
    19         printf("与之对应的斐波那契数列数列的值为:	%d	%lld
    
    ",result,googResult);
    20         
    21         
    22     }
    23     return 0;
    24 }
    25 
    26 
    27 int fib(int n){
    28     
    29     if(n == 0){
    30         return 0;
    31     }else if(n == 1){
    32         return 1;
    33     }else {
    34         return fib(n-1) + fib(n-2);
    35     }
    36 
    37 }
    38 
    39 //斐波那契数列数列求解优化
    40 
    41 long long fibonacci(unsigned int n){
    42     
    43     int result[] = {0,1};
    44     if (n < 2){
    45         return result[n];
    46     }
    47     long long smallest = 0;
    48     long long smaller = 1;
    49     long long temp = 0;
    50     
    51     for(int i=2; i<=n; i++){
    52         
    53         temp = smaller + smallest;
    54         
    55         smallest = smaller;
    56         smaller = temp;
    57         
    58     }
    59     return temp;
    60     
    61 }
    我会不定期分享 iOS 相关技术文章
  • 相关阅读:
    数学基础详解 1——微积分
    logistic回归梯度上升优化算法
    决策树
    西瓜书学习笔记(1)——模型评估与选择
    关于map与set的一点理解;
    STL中的set容器的一点总结(转)
    HDOJ 题目分类
    Train Problem I(栈)
    猜数字(规律)
    Change the ball(找规律)
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/6108072.html
Copyright © 2011-2022 走看看