斐波那契非递归解法
来源:互联网 发布:sql 去掉重复的行 编辑:程序博客网 时间:2024/04/29 07:00
/*************************** * 斐波那契非递归输出 * blog:http://blog.csdn.net/kangquan2008 * author:huangkq1989 * 这是一道面试题来的,应该说很简单, * 但是在面试的时候面试官说如果这个 * 函数要调用一百万次,问怎么优化, * 但是没想到,其实可以打表! * 不过我的代码是否还有可以其他优化方式呢? * ************************/#include <stdio.h>#include <stdlib.h>int get_fabonich(int n_th){if(n_th == 1 || n_th == 2)return 1;int a=1,b=1;int result = 0;for(int i=3; i<=n_th; i++){result = a+b;a = b;b = result;}return result;}int main(){// 1 1 2 3 5 8 13int a;while(1)scanf("%d",&a),printf("%d\n",get_fabonich(a));return 0;}