首页 > 代码库 > 四种Fibonacci序列
四种Fibonacci序列
Fibonacci序列: 1 1 2 3 5 8 13 (一个数等于前两个数之和)
1. Fibonacci序列_递归(简单,用时长)
#include<stdio.h> enum {N=30};//Fibonacci序列最大个数 int f(int x) { return x>2 ? f(x-1)+f(x-2) : 1; } int main() { int i; for(i=1;i<=N;i++) printf("%d\t",f(i)); return 0; }
2.Fibonacci序列_递归(快速,用时非常短)
#include<stdio.h> enum {N=30};//Fibonacci序列最大个数 int ff(int a,int b,int n) { return n<=1 ? b : ff(a+b,a,n-1); } int f(int n) { return ff(1,1,n); } int main() { int i=1; for(i=1; i<=N; i++) printf("%d\t",f(i)); return 0; }
3.Fibonacci序列(数组方法)
#include<stdio.h> enum {N=30}; //Fibonacci序列最大个数 int main() { int i,a[N]={1,1}; for(i=2;i<N;i++) a[i] = a[i-1] + a[i-2]; for(i=0;i<N;i++) printf("%d\t",a[i]); return 0; }
4.Fibonacci序列(循环交换)
#include<stdio.h> enum {N=30}; //Fibonacci序列最大个数 int main() { int i,t=1,m=0,j=1; for(i=1;i<=N;i++) { printf("%d\t",j); j=t+m; m=t; t=j; } return 0; }
本文出自 “完美式流年” 博客,请务必保留此出处http://1666053609.blog.51cto.com/9688895/1604675
四种Fibonacci序列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。