• 给定斐波那契数列的项数求对应的数值的普通方法和优化处理


     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 相关技术文章
  • 相关阅读:
    h264 file analyse
    Vision sdk memconfig
    C/C++程序使用lu对象作为配置文件
    函数模板
    socket编程中的read、write与recv、send的区别
    Java锁与公平锁浅析
    模板方法
    开发Java Web程序
    算法小记:暴力字符串查找
    C函数 mktemp
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/6108072.html
Copyright © 2020-2023  润新知