C 递归与迭代的使用切换

来源:互联网 发布:淘宝游戏专营类目 编辑:程序博客网 时间:2024/05/29 18:26

分别用递归和迭代实现斐波那契数列


my_main.c

#include"my_declare.h"#include<stdio.h>int main(){printf("%d\n", hd_fibonacci(4));printf("%d\n", dd_fibonacci(5));}


my_func.c

#include"my_declare.h"/***递归函数*/long hd_fibonacci(int n){if (n <= 2) {return 1;}else{return hd_fibonacci(n - 1) + hd_fibonacci(n - 2);}}/***迭代函数*/long dd_fibonacci(int n){long result;long previous_result;long next_older_result;result = previous_result = 1;while (n > 2) {n -= 1;next_older_result = previous_result;previous_result = result;result = previous_result + next_older_result;}return result;}


my_declare.h

long hd_fibonacci(int n);long dd_fibonacci(int n);


0 0
原创粉丝点击