fibonacci数列的递归和非递归解法

来源:互联网 发布:mac 音乐播放器 编辑:程序博客网 时间:2024/05/20 14:20
/************************************************************* * file:fibonacci.c * brief:fibonacci数列的递归和循环算法 * yejing@2015.2.3    1.0      creat *************************************************************/#include <stdlib.h>#include <stdio.h>long long int fibonacci_recursive(unsigned int n){if(n <= 1)return n;return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2);}long long int fibonacci_loop(unsigned int n){if(n <= 1)return n;long long int tmp1 = 0;long long int tmp2 = 1;long long int ret;unsigned int i;for(i = 2; i <= n; ++i){ret = tmp1 + tmp2;tmp1 = tmp2;tmp2 = ret;}return ret;}int main(int argc, char* argv[]){unsigned int n;printf("please input the fibonacci index: ");scanf("%d", &n);getchar();printf("fibonacci_recursive:%lld \n", fibonacci_recursive(n));printf("fibonacci_loop:%lld \n", fibonacci_loop(n));return 1;}

0 0
原创粉丝点击