计算fibonacci数列 输出前18个数据?

作者&投稿:秘夜 (若有异议请与网页底部的电邮联系)
下列程序的功能是:计算Fibonacci数列的前20个数,并将其存储到一维数组fib中,然后输出结果。~

#includemain(){int fib[20]={1,1};int i;for(i=2;i<20;i++)//*******************************************fib[i]=fib[i-1]+fib[i-2];//改括号for(i=0;i<20;i++)//*******************************************printf("%6d",fib[i]);//加双引号printf("
");}

#include int main(){int fibonacci[32], i, j;fibonacci[1] = fibonacci[2] = 1;for (i = 3;i <= 20;i++)fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];for (i = 0;i < 4;i++){printf("%d", fibonacci[i * 5 + 1]);for (j = 2;j <= 5;j++)printf(" %d", fibonacci[i * 5 + j]);printf("
");}return 0;}

可以用递推的办法写:an=an-1+an-2
a1=a2=1

a3=a2+a1=2
a4=a3+a2=3
a5=5;a6=8;a7=13;a8=21;a9=34;a10=55;
a11=89;a12=144;a13=233;a14=377;a15=610;
a16=987;a17=1597;a18=2584。
也可以直接列通项公式:
an=[(1.618)^n-(-0.618)^n]/√5…………………………其中1.618=(1+√5)/2,-0.618=(1-√5)/2


MATLAB编程
1.a=rand(1,20);max1=max(a) %用max函数求最大值 min1=min(a) %用max函数求最大值 以下用循环方法求解:max2=a(1);min2=a(1);for i=2:20 if a(i)>max2 max2=a(i);end if a(i)<min2 min2=a(i);end end max2 min2 2.(1)function t=fibonacc1 f=[1,1]...

数学上机作业!!急急急!!!
6例:用for 循环语句来寻找Fibonacc 数列中第一个大于10000 的元素。 n=100;a=ones(1,n); % a是一个一行,n列的所有元素为1的矩阵 for i=3:n a(i)=a(i-1)+a(i-2); if a(i)>=10000 a(i), break; % 表示跳出循环 end; end, i 7 练习:课本264页,参考例4右边的流程图11.4,编程序求解...

如果sinθ=m,m的绝对值<1,180°<θ<270°那么tanθ等于
6例:用for 循环语句来寻找Fibonacc 数列中第一个大于10000 的元素。 n=100;a=ones(1,n); % a是一个一行,n列的所有元素为1的矩阵 for i=3:n a(i)=a(i-1)+a(i-2); if a(i)>=10000 a(i), break; % 表示跳出循环 end; end, i 7 练习:课本264页,参考例4右边的流程图11.4,编程序求解...

槐荫区14758571908: 一. 应用递归算法输出Fibonacci数列前n个数.F1=1 F2=1 Fn=Fn - 1+Fn - 2 -
重包斑秃:[答案] #include int GetFibonacci(int n) { if (n == 1 || n == 2) return 1; else return GetFibonacci(n-1)+GetFibonacci(n-2); } void main() { int n; scanf("%d",&n); for (int i = 1; i

槐荫区14758571908: 编写程序:计算并输出Fibonacci数列前20项之和..(提示信息,Fibonacci数列:1,1,2,3,5,8,13,21 -
重包斑秃: 1、打开visual C++ 6.0-文件-新建-文件-C++ Source File. 2、定义变量:#include<stdio.h> void main(){int i, s, k, count = - 1};. 3、穷举: for (i = 100; i <= 1000; i++) /*对100~1000之内的数进行穷举*. 4、求和、分离. 5、判断和是否...

槐荫区14758571908: C语言编程:用函数递归法求Fibonacci数列的前n项· -
重包斑秃: #include <stdio.h> long int F(int n) { if (n==1||!n) { return n; } else return F(n-1)+F(n-2); } int main(void) { int i,n; printf("n="); scanf("%d",&n); for (i=0; i<n; i++) { printf("%-10ld",F(i)); } return 0; } 在数理逻辑和计算机科学中 递归函数或μ-递归...

槐荫区14758571908: 第六题:输出fibonacci数列的前20项的值,每行输出一个数. -
重包斑秃:[答案] #include using namespace std; int main() {int a,b,i; a=1; print("%d\n",a); for(i=0;i

槐荫区14758571908: c++语言使用数组求Fibonacci数列的前20项.要求4项一行输出. -
重包斑秃: #include <iostream> #include <iomanip> using namespace std;int main() {long f1,f2; int i;f1=f2=1; for(i=1;i<=10;i++) {cout<<setw(12)<<f1<<setw(12)<<f2;//输出字段宽度为12,每次输出二个数. if(i%2==0)cout<<endl;//每输完四项一换行. f1=f1+f2;//左边的f1代表第三个数,是第1、2的数的和 f2=f2+f1;//左边的f2代表第四个数,是第2、3的数的和}return 0; } 希望对你有用!!

槐荫区14758571908: 用数组来求Fibonacci数列前20个数,以每行5个数进行输出. -
重包斑秃:[答案] for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; }

槐荫区14758571908: java用递归算法计算并输出Fibonacci数列的前20项 -
重包斑秃: public class Demo{public static void main(String[] args) {for(int i=1;i<=20;i++){System.out.println(f(i));}}public static int f(int n){if(n == 1 || n ==2){return 1;}return f(n-2)+f(n-1);} } 我自己写的,参考一下把

槐荫区14758571908: C语言编程:用函数递归法求Fibonacci数列的前n项·
重包斑秃: #include#define COL 10 //一行输出10个 long scan() { //输入求fibonacci函数的第N项 int n; printf("Input the N = "); scanf("%d",&n); return n; } long fibonacci(int n) { //...

槐荫区14758571908: C语言数组作业,求助1. 用数组计算fibonacci数列的前55个数,并按金字塔格式输出.提示:1, 1, 2, 3, 5, 8, 13, ……用数组计算并存放fibonacci数列的前55个... -
重包斑秃:[答案] 1. //#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void main(void){ __int64 a,b,c; int i; printf("1\n1\n"); for(a=b=1,i=3;i c=a+b; a=b; printf("%I64d\n",b=c); } } 2. //#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void ...

槐荫区14758571908: 斐波那契数列 编程输出该数列的前30项,每行输出5个数. -
重包斑秃: 先定义一个长度为30的数组a[] /*int a [] = new int [30]*/ a[0] = 1;a[1] = 1; for(int i = 2;i<30;i++) { a[i] = a[i-1] + a[i-2]; } for(int i = 0;i<30;i++) { 输出函数(看是什么语言)(a[i]+" "); /*System.out.print(a[i]+" ");*/ if((i+1)%5==0) {这里是换行函数;/*System.out.println(" ");*/} } 大概思路和程序在这里了C++的语法不记得啦,你看下思路基本上都差不多,只是有些地方稍有不同而已.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网