www.gsyw.net > 编写一个程序,利用递归函数求斐波那契数列(0,1,1,2,3,5,8,13,21…… )前100项的...

编写一个程序,利用递归函数求斐波那契数列(0,1,1,2,3,5,8,13,21…… )前100项的...

因为用了很没有效率的递归,所以出结果有点慢#include<iostream.h> f(int); main() { int i,s=0; for(i=1;i<=100;i++) { cout<<f(i)<<'\t'; s+=f(i); } cout<<endl; cout<<"前100项的和为"<<s<<endl; } f(int i) { int value; if(i==1||i==2) value=1; else value=f(i-1)+f(i-2); return value; }

#include "stdio.h" int fibo(int n) { int f; if(n==0) { return (1); } else if(n==1)//两个判断都是返回1,可合并,当然不合也无所谓 { return (1); } else { f=fibo(n-1)+fibo(n-2); return (f); } } int main() { //int fibo(int);这里重复定义了,去掉. int n,x,y; printf(

/** 已知Fibonacci数列:1,1,2,3,5,8,……,F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)*/#include <stdio.h>#include <stdlib.h> typedef long long int int64;//方法1,递归法 int64 Fibonacci(int n) { int64 sum; if(n<=0) { printf("参数值非法!\n"); exit(-1); //直接

public int fbnq(int n){ if(n==1||n==2){ return 1; }else{ return fbnq(n-1)+fbnq(n-2); }}输入内容已经达到长度限制还能输入 9999 字

2522

int fab[8]; void fib(int n); void fib(int n) { if(n == 0) fab[1] =1; else if(i == 1) fab[1] =1; else fab[n] = fib(n-1) + fib(n-2); }

#include using namespace std; int Fibo(int i) { if (i else return Fibo(i - 1) + Fibo(i - 2); } int main() { for (int i = 1; i cout if (i % 5 == 0) cout } }

#include<iostream>using namespace std; //递归调用求斐波那契数 int F(int n) { if ( n == 0 ) return 0; if ( n == 1 ) return 1; return (F(n-1) + F(n-2)); } void main() { cout<<F(28)<<endl; }

//递归int fun(int n){ if(n==1 || n==2) return 1; else return fun(n-1)+fun(n-2);}//非递归int fun(){ int ans[41]; ans[0]=ans[1]=1; for(int i=2;i 评论0 0 0

相关搜索:

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com