Fibonacci数列;1,1,2,3,5,8.,它可由下列公式表达F(1)=1 ifn=1

深圳豪弟2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
68609238 共回答了26个问题 | 采纳率84.6%
斐波那契数列:1,1,2,3,5,8,13,21……
如果设F(n)为该数列的第n项(n∈N+).那么这句话可以写成如下形式:
F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)
显然这是一个线性递推数列.
通项公式的推导方法一:利用特征方程
线性递推数列的特征方程为:
X^2=X+1
解得
X1=(1+√5)/2,X2=(1-√5)/2.
则F(n)=C1*X1^n + C2*X2^n
∵F(1)=F(2)=1
∴C1*X1 + C2*X2
C1*X1^2 + C2*X2^2
解得C1=1/√5,C2=-1/√5
∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
通项公式的推导方法二:普通方法
设常数r,s
使得F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]
则r+s=1,-rs=1
n≥3时,有
F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]
F(n-1)-r*F(n-2)=s*[F(n-2)-r*F(n-3)]
F(n-2)-r*F(n-3)=s*[F(n-3)-r*F(n-4)]
……
F(3)-r*F(2)=s*[F(2)-r*F(1)]
将以上n-2个式子相乘,得:
F(n)-r*F(n-1)=[s^(n-2)]*[F(2)-r*F(1)]
∵s=1-r,F(1)=F(2)=1
上式可化简得:
F(n)=s^(n-1)+r*F(n-1)
那么:
F(n)=s^(n-1)+r*F(n-1)
= s^(n-1) + r*s^(n-2) + r^2*F(n-2)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) + r^3*F(n-3)
……
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)*F(1)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)
(这是一个以s^(n-1)为首项、以r^(n-1)为末项、r/s为公差的等比数列的各项的和)
=[s^(n-1)-r^(n-1)*r/s]/(1-r/s)
=(s^n - r^n)/(s-r)
r+s=1,-rs=1的一解为 s=(1+√5)/2,r=(1-√5)/2
则F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
1年前

相关推荐

求数列的通式(可能跟Fibonacci数列有关)题目见图片中.
银魂弄月1年前1
milkbutterfly 共回答了23个问题 | 采纳率78.3%
G(n)=G(n-1)+G(n-2) - 1
G(n+1)=G(n)+G(n-1)-1
G(n+1)-G(n)=(G(n)-G(n-1))+(G(n-1)-G(n-2))
令F(n+1)=G(n+1)-G(n)
则F(n)=G(n)-G(n-1),F(n-1)=G(n-1)-G(n-2)
则F(n)构成Fibonacci数列,则.
c问题,fibonacci数列已知二阶fibonacci数列:fib(n)=0,若n=0;fib(n)=1,若n=1;f
c问题,fibonacci数列
已知二阶fibonacci数列:fib(n)=0,若n=0;fib(n)=1,若n=1;fib(n)=fib(n-1)+fib(n-2),其他情况。定义递归函数求fib(n).
也是翁迷1年前2
有时HAPPY 共回答了26个问题 | 采纳率96.2%
int fib(int n)
{
if(n==0)return 0;
else if(n==1)return 1;
else return fib(n-1)+fib(n-2);
}
2、编写一个Shell脚本,显示Fibonacci数列的前20项.例如:0,1,1,2,3,5,8,13,21...
最爱宝贝吖1年前1
淡淡的樱花 共回答了23个问题 | 采纳率95.7%
[root@localhost baidu]# more fibonacci.sh
num1=0
num2=1
echo $num1
echo $num2
couter=$(expr $1 - 2 )
#echo $num
while [ $couter -gt 0 ]
do
tmp=$(expr $num1 + $num2 )
echo $tmp
num1=$num2
num2=$tmp
couter=$(expr $couter - 1 )
done
[root@localhost baidu]# sh fibonacci.sh 20
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
产生Fibonacci数列的头20项存入一个一维数组中,按每行4个输出数组的元素.
波兰1年前1
hebeixtlvsen 共回答了15个问题 | 采纳率93.3%
int a[20];
a[0] = 1; a[1] = 1;
for (int i = 2; i < 20; i++)
a[i] = a[i-1] + a[i-2];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j
如何不用递归计算Fibonacci数列
如何不用递归计算Fibonacci数列
要尽可能的算出大的数据,列如能算出第100项是多少或更大项
shiyan6661年前1
my23hao 共回答了14个问题 | 采纳率85.7%
//求斐波拉契数列,第0项为数列首项.计算第92项时会溢出
function Fibonacci(Index: Integer): Int64;
var
i: Integer;
n1, n2, n3: Int64;
begin
n1 := 1; //各变量初始化
n2 := 1;
Result := 1;
for i := 2 to Index do
begin
Result := n1 + n2; //计算第三个数字
n1 := n2; //将第二个数作为第一个数
n2 := Result; //将第三个数作为第二个数,以便计算新数
end;
end;
编写M函数文件求小于任意自然数n的Fibonacci数列各项
6wwww1年前1
ijio 共回答了15个问题 | 采纳率86.7%
%编成M函数文件运行后,在命令窗口输入要知道的自然数n,即可求得对应项的Fibonacci数列
%有哪步有疑问请问
user_entry=input('Please enter the number you want to know of the Fibonacci:');
if user_entry==1||user_entry==2
Result=1
else
a=1;
b=1;
for i=3:user_entry
Result=a+b;
a=b;
b=Result;
end
Result=Result
end
第六题:输出fibonacci数列的前20项的值,每行输出一个数.
感受ss1年前1
马晓玛 共回答了13个问题 | 采纳率100%
#include
using namespace std;
int main()
{int a,b,i;
a=1;
print("%dn",a);
for(i=0;i
编写函数func(n)求Fibonacci数列(1 1 2 3 5 8.)的第17个数
编写函数func(n)求Fibonacci数列(1 1 2 3 5 8.)的第17个数
要求 使用函数的递归调用 求15分钟以内给出答案
rr了就rr了1年前1
shenchen_ljd 共回答了12个问题 | 采纳率83.3%
var n:integer;function fblq(n:integer):integer;var a,b,c,i:integer;begina:=1;b:=1;if n>2then for i:=3 to n dobeginc:=a+b;a:=b;b:=c;endelse c:=1; fblq:=c;end;beginreadln(n);writeln(fblq(n));end.
编写一个Shell脚本,显示Fibonacci数列的前10项.例如: 1,1,2,3,5,8,13,21...
编写一个Shell脚本,显示Fibonacci数列的前10项.例如: 1,1,2,3,5,8,13,21...
#!/bin/sh first=1;echo “$first”second=1;echo –n “,$second”sum=`expr $first + $second`i=1while [ $i –le 8 ]do temp=`expr $first + $second` echo –n “,$temp” first = $second second = $temp sum=`expr $sum + $second` i=`expr $i + 1 `done
分析一下这个程序,简单分析一下就是了,谢
CRANE1081年前1
空战ii 共回答了19个问题 | 采纳率94.7%
Fibonacci其实就是不断求和,前两个数的和形成第三个数.
为方便说明,假设两个变量A和B,A+B=C,C就是和.
#!/bin/sh
first=1; echo “$first” #打印第一个数A=1
second=1; echo –n “,$second” #接着不换行打印第二个数B=1,以逗号分隔
sum=`expr $first + $second` #计算前两个数的和C
i=1 #设置一个变量用于循环计数
while [ $i –le 8 ] #变量小于等于8就一直循环(加前面两个数共10个)
do
temp=`expr $first + $second` #计算前两个数的和C
echo -n “,$temp” #不换行打印C,以逗号分隔
first=$second #B作为A
second=$temp #C作为B
sum=`expr $sum + $second` #继续计算新的和C
i=`expr $i + 1 ` #计数加1
done
产生Fibonacci数列的前40个数,再找出其中的所有素数,并求出质数的个数.
产生Fibonacci数列的前40个数,再找出其中的所有素数,并求出质数的个数.
Fibonacci数列为:1,1,2,3,5,8,13,21,34,89,……
情深我自判憔悴1年前1
yan2 共回答了18个问题 | 采纳率88.9%
不懂你是要求用哪种语言写程序,或者是只要答案
所以我用C语言编程吧
程序如下:
#include
main()
{
x05int i,j,count;
x05int num[40];
x05count=0;
x05num[0]=num[1]=1;
x05for(i=2;i<40;i++)
x05{
x05x05num[i]=num[i-1]+num[i-2];
x05}
x05printf("Fibonacci数列前40个数:n");
x05for(i=0;i<40;)
x05{
x05x05printf("第%2d个数是:%10d n",i+1,num[i++]);
x05}
x05printf("n这40个数中的质数有:n");
x05for(i=0;i<40;i++)
x05{
x05x05for(j=2;jx05x05{
x05x05x05if(num[i]%j==0)
x05x05x05x05break;
x05x05}
x05x05if(j==num[i]/2)
x05x05{
x05x05x05count++;
x05x05x05printf("%10d",num[i]);
x05x05}
x05}
x05printf("n共有%2d个质数n",count);
}
运行的结果如图所示.
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.当n比较大时,Fn也非常
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.当n比较大时,Fn也非常
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少.
输入格式
输入包含一个整数n.
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数.
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单.
样例输入
10
样例输出
55
样例输入
22
样例输出
7704
数据规模与约定
1
juen471年前1
g4rj 共回答了13个问题 | 采纳率100%
在蓝桥杯C/C++语言中,主函数main的返回值类型必须是int,返回值必须是0,否则评测会认为程序运行错误.
fibonacci数列是什么意思?
fibonacci数列是什么意思?
简单有趣的,能让我听懂的.
wcjjz1年前1
心若乱了 共回答了17个问题 | 采纳率100%
fibonacci数列:
1 1 2 3 5 8 13 21 34 55 89 ...
即f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n > 2
首项应该是1,看来是 wmjdhr 记错了
求Fibonacci数列:1,1,2,3,5,8,...第40个数的值
爱-你1年前1
汤潜 共回答了22个问题 | 采纳率95.5%
某个数等于前两个数之和,一个一个加就好了,第40个是726,当然也可以求出通项公式,不过很麻烦
还可以编程:
public class Fibonacci {
public static void main(String args[]) {
System.out.println(f(40));
}
public static int f(int n) {
if(n == 1 || n == 2) {
return 1;
}else {
return f(n - 1) + f(n - 2);
}
}
}
Fibonacci数列的定义什么,举例讲讲!
haining1101年前1
tibet_kai 共回答了24个问题 | 采纳率95.8%
1,1,2,3,5,8.
即从第三项开始,每一项都是前2项之和
即an+2 = an+1 + an
它是一个各项为整数但通项是用无理数表示的数列,an=五分之根5×[((根5+1)/2)^n-((根5-1)/2)^n]
计算Fibonacci数列,知道某项大于1000为止,并输出该项的值。(用do-while循环完成)。
78434681年前1
zy222szy 共回答了27个问题 | 采纳率88.9%

#include
#include
void main()
{
int i=0,j=1,n;
n=2;
printf("%dt%dt",i,j);
while (i《=1000)
{
i=i+j;
n=n++;
j=j+i;
...
什么是fibonacci数列?fibonacci数列是什么意思?它是怎么算出来的?1-20个数有多少fibonacci数
什么是fibonacci数列?
fibonacci数列是什么意思?
它是怎么算出来的?
1-20个数
有多少fibonacci数列?
yidalimian04051年前1
ysy9 共回答了24个问题 | 采纳率83.3%
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765……
fibonacci数列即斐波那契数列,它的特点是前面两个数的和等于后面的一个数.
斐波那契数列只有一个.
用数组来求Fibonacci数列前20个数,以每行5个数进行输出.
laopeibaobao1年前1
hongyinliang 共回答了19个问题 | 采纳率89.5%
for(i=2;i<20;i++)
{
f[i]=f[i-1]+f[i-2];
}
用matlab求fibonacci数列的解(n=20)Fn=Fn-1+Fn-2,其中F1=1,F2=2
广州爱尚尚1002_21年前1
cathree 共回答了17个问题 | 采纳率94.1%
F(20)=6765
--------------------------------
代码如下:
N=20
F=ones(1,N);
for i=3:N
F(i)=F(i-1)+F(i-2);
end
F(N)
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fib
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fibonace:数列的第18项
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fibonace:数列的第18项
lzg85851年前2
hexiangge 共回答了21个问题 | 采纳率100%
Private Sub Form_Click()
Dim f(100) As Long
f(1) = 1
f(2) = 1
Print 1; f(1)
Print 2; f(2)
For i = 3 To 18
f(i) = f(i - 1) + f(i - 2)
Print i; f(i)
Next
End Sub
运行结果:f(18)=2854
求VB编程代码(For循环).题目:求Fibonacci数列:1,1,2,3,5,8,…的前40个数
求VB编程代码(For循环).题目:求Fibonacci数列:1,1,2,3,5,8,…的前40个数
即:F1=1 (n=1), F2=l (n=2),Fn=F(n-l) F(n-2) (n>=3)谢谢
wojiaosm1年前1
ba6480 共回答了18个问题 | 采纳率94.4%
Private Sub Form_Click()
Dim a(1 To 40) As Long
For i = 1 To 40
If i = 1 Or i = 2 Then
a(i) = 1
Else
a(i) = a(i - 2) + a(i - 1)
End If
Print a(i); Tab;
If i Mod 5 = 0 Then Print
Next i
End Su
3 编写程序,统计出Fibonacci数列前20个数中有多少个3位数,并输出数列中的第16项
VITAS股1年前1
wls203033055 共回答了17个问题 | 采纳率88.2%
#include
int Fibonacci(int n)
{
return (n==0||n==1)?n:Fibonacci(n-1)+Fibonacci(n-2);
}
int main()
{
int n=0,num=0,y,temp;
do
{
y=Fibonacci(n);
if (y>99&&y
一道vb题目。求解答。求Fibonacci数列。著名的Fibonacci数列是这样一个数列:第一、二个数分别是0,1,从
一道vb题目。求解答。
求Fibonacci数列。著名的Fibonacci数列是这样一个数列:第一、二个数分别是0,1,从第三个数开始,每个数都是前2个数的和。如:0,1,1,2,3,5,8,13,21,34,55……。要求数列的个数n由键盘输入,产生的若干数列输出到窗体上。
高天渌水1年前1
发扬光大12 共回答了18个问题 | 采纳率83.3%
望采纳。。。。
用VB编程,求Fibonacci数列的前40个数以及它们的和.
用VB编程,求Fibonacci数列的前40个数以及它们的和.
数列特点:第1,2两个数为1,从第三个数开始,每个数等于前两个数之和.
yun02131年前1
紫玉辰 共回答了13个问题 | 采纳率100%
Option Explicit
Dim f(40) As Long
Private Sub Command1_Click()
Dim i As Byte
Dim s As Long
f(1) = 1
f(2) = 1
s = 2
Print "No1: " & f(1)
Print "No2: " & f(2)
For i = 3 To 40
f(i) = f(i - 1) + f(i - 2)
s = s + f(i)
Print "No" & i & ": " & f(i)
Next
Print "总和: " & s
End Su
{用数组求fibonacci数列前20个数 }
{用数组求fibonacci数列前20个数 }
F1=1 (n=1)
F2=1 (n=2)
Fn=Fn—1 + Fn—2 (n大于等于3)
痞子霏1年前2
baobao0607 共回答了17个问题 | 采纳率76.5%
用递归多好啊,我用的递归,你参考一下!
#include
using namespace std;
int fib(int n)
{
if(n==0||n==1) return 1;
return
fib(n-1)+fib(n-2);
}
void main()
{ int h;
cout
vb用递归法求Fibonacci数列的第20、200项
vb用递归法求Fibonacci数列的第20、200项
Fibonacci数列前2项均为1,满足公式f(n)=f(n-1)+f(n-2),其中n>3
再见了厦门1年前1
石斑鱼2007 共回答了21个问题 | 采纳率90.5%
dim f() as double
n=inputbox("in","NO.")
redim f(n) as double
f(1)=1
f(2)=1
for i=3 to n
f(i)=f(i-1)+f(i-2)
next
print f(n)
已知Fibonacci数列{f(n)}:1,1,2,3,5,8,……,其特点是:从第3项开始,每一项都是其前两项之和.试
已知Fibonacci数列{f(n)}:1,1,2,3,5,8,……,其特点是:从第3项开始,每一项都是其前两项之和.试求f(2)+f(4)+…+f(30).
set talk off
clear
f1=1
f2=1
______
for n=2 to 15
f1=f1+f2
________
s=s+f2
endfor
set talk on
return
tmnbvjg1年前1
柳絮儿1314 共回答了15个问题 | 采纳率100%
第一个空应该是
s=f2
第2个控应该是
f2=f1+f2
vb程序设计课后答案:请问“求Fibonacci数列的前20个数.Fibonacci数列的特征是:第1个数和第二个数都是
vb程序设计课后答案:请问“求Fibonacci数列的前20个数.Fibonacci数列的特征是:第1个数和第二个数都是1
,从第三个数开始,该数是前两个数之和,即f(1)=1,f(2)=1,当n>=3时,f(n)=f(n-1)+f(n-2)这个题怎么做?
寻找真诚991年前1
云儿妥妥 共回答了24个问题 | 采纳率87.5%
回答过了啊……

Dim f1,f2,f3 As Long
Dim i,j As Integer
f1 = 1
f2 = 1
j = 3 'j用来控制print和换行
Print "====输出Fibonacci数列20个数===="
Print
Print f1,f2,
For i = 3 To 20
f3 = f1 + f2
If j < 4 Then
Print f3,
Else
j = 0
Print f3
End If
f1 = f2
f2 = f3
j = j + 1
Next i
vf大神求指教~!编程题!1.编程求Fibonacci数列(即0,1,1,2,3,5,……)前30项和2.编程统计100
vf大神求指教~!编程题!
1.编程求Fibonacci数列(即0,1,1,2,3,5,……)前30项和
2.编程统计100—10000之间个位数是9的数的个数
3.编程统计1000的正整数约数(因子)的个数(1和1000本身除外)
clear
a=0
b=1
s=0
for i=1 to 28
c=a+b
s=s+c
a=b
b=c
endfor
?s
2.clear
s=0
for i= 100 to 10000
t=str(i)
m=substr(t,len(t))
if m="9" then
s=s+1
endif
next
?s
3.clear
s=0
for i=2 to 999
if 1000%i=0
s=s+1
endif
next
?s

这些答案都对不对啊?求解!
笑倒天1年前1
lfddq 共回答了25个问题 | 采纳率84%
第1题的结果漏了第1项和第2项的和,所以答案少1.所以不是s=0,而是s=a+b.建议用数组,直观
CLEAR
DIMENSION f[30]
f[1]=0
f[2]=1
s=f[1]+f[2]
FOR i=3 TO 30
f[i]=f[i-2]+f[i-1]
s=s+f[i]
ENDFOR
?s
用递归算法描述Fibonacci数列的伪代码
咬你没商量1年前1
泡泡龙0403 共回答了23个问题 | 采纳率91.3%
function fibonacci(n){
if(n == 1 | n ==2){
return 1;
}else{
return fibonacci(n-1) + fibonacci(n-2);
}
}
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回.其中Fibonacci数
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回.其中Fibonacci数列F(n)的定义为
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
部分源程序给出如下.
:#include
#include
#include
int fun(int t)
{
}
main()
{
int n;
clrscr();
n=1000;
printf("n=%d,f=%dn",n,fun(n));
}
rokejoe1年前3
珠珠加油 共回答了24个问题 | 采纳率91.7%
请楼主参考采纳
int fun(int t)
{
int i;
int current = 0;
for(i=1; total t)
break;
current += i;
}
return current;
}
.编写M函数文件求小于任意自然数n的Fibonacci数列各项.
嗷嗷小鑫1年前1
夜之阳 共回答了14个问题 | 采纳率100%
function f=d(n)
f(1)=1;
f(2)=1;
for i=3:n
f(i)=f(i-1)+f(i-2);
end
Fibonacci数列 急 明天要交作业了
Fibonacci数列 急 明天要交作业了

在text1中输入一个大于2的自然数n,单击“第n项”按钮,将前n项Fibonacci数列(1,1,2,3,5,8..)存储于动态数组Fib()中,并将数列的第n项显示在text2中
我们聊得1年前1
李静猪猪 共回答了12个问题 | 采纳率91.7%
Private Sub Form_Click()
Dim a&(30)
a(1) = 0:a(2) = 1
For i = 3 To 30
a(i) = a(i - 2) + a(i - 1)
Next i
For i = 1 To 30
Print Right(Space(7) & a(i),8);
If i Mod 10 = 0 Then Print
Next i
End Su
程序设计题:Fibonacci数列1,1,2,3,5,8,13……的前20个数.F(1)=1 (n=1)F(2)=1 (
程序设计题:
Fibonacci数列1,1,2,3,5,8,13……的前20个数.
F(1)=1 (n=1)
F(2)=1 (n=2)
F(n)=F(n-1)+F(n-2) (n≥3)
13ge11年前2
蓝ww惑2003 共回答了23个问题 | 采纳率73.9%
#include
long fibonacci(int n)
{ //fibonacci函数的递归函数
if (0==n||1==n) { //fibonacci函数递归的出口
return 1;
}
else {
return fibonacci(n-1)+fibonacci(n-2);
//反复递归自身函数直到碰到出口处再返回就能计算出第n项的值
}
}
int main(void)
{
int i,n;
n = 20;
printf("Fibonacci数列的前%d项n",n);
for (i=0; i
.Fibonacci数列形如:0,1,1,2,3,5,8,13,21,….求Fibonacci数列的前n项.c++
.Fibonacci数列形如:0,1,1,2,3,5,8,13,21,….求Fibonacci数列的前n项.c++
(1)提示用户输入n;
(2)每行输出10项.
vv的我1881年前1
xiaoshi1234 共回答了19个问题 | 采纳率78.9%
main()
{
x09int n,i,a[100];
x09a[0]=0;
x09a[1]=1;
printf("Please Input The number:n");
x09scanf("%d",&n);
x09if(n>=1)
x09x09printf("0 ");
x09if(n>=2)
x09x09printf("1 ");
if(n>=3){
x09for(i=2;i
C语言:采用递归调用函数方法计算Fibonacci数列的前20项
badblueboy1年前1
烟醉无味 共回答了25个问题 | 采纳率80%
#include
#define N 20
main(){
int f(int n);
int i;
for(i=1;i
Gn=1+1/Gn-1如何化为fibonacci数列?
xinyingg1年前1
5小喵5 共回答了11个问题 | 采纳率90.9%
你知道有“连分数”这个概念吗?你给的这个数列就是连分数的形成数列.它和斐波那契数列是有关系的,这个关系其实也很简单.
设(G1)(G2)…(Gn)=Fn,这样Gn=(Fn)/(Fn-1),代入看看,就得到Fn=(Fn-1)+(Fn-2).
java程实现Fibonacci数列.Fibonacci数列的定义为:F1=1,F2=1,…Fn=Fn-1+Fn-2 (
java程实现Fibonacci数列.Fibonacci数列的定义为:F1=1,F2=1,…Fn=Fn-1+Fn-2 (n>
EvenXu791年前1
笑的dd 共回答了18个问题 | 采纳率88.9%
import java.util.ArrayList;
import java.util.List;
public class Fibonacci {
public static void main(String[] args) {
List list = new ArrayList();
int num = 15;
for(int i = 1; i
写一个C#方法实现斐波那契Fibonacci数列...
写一个C#方法实现斐波那契Fibonacci数列...
写一个C#方法实现斐波那契Fibonacci数列(这个数列从第三项开始,每一项都等于前两项之和,如1,1,2,3,5,8,13,21……),包括方法命名和返回第N项值??
哭泣的黄土高原1年前4
fury1983 共回答了15个问题 | 采纳率73.3%
楼上的没啥问题,无限制地递归会耗尽系统的堆栈空间。。。
也可以这样写
public int MyFunction(int n)
{
if(n
求Fibonacci数列中大于t的最小的一个数,结果由函数返回 这段看不懂,那位大侠帮忙解释一下
求Fibonacci数列中大于t的最小的一个数,结果由函数返回 这段看不懂,那位大侠帮忙解释一下
其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
-----------------------
int jsValue(int t) /*标准答案*/
{ int f1=0,f2=1,fn;
fn=f1+f2;
while(fn
dododa1年前1
cnf5 共回答了24个问题 | 采纳率87.5%
所谓的斐波那契数列就是每一个数都等于前两个数之和.
下面这个循环作用是计算新的F(n),如果刚到的F(n)大于t则退出.
f1保存的是F(n-2),f2保存的是F(n-1).
while(fn
如何利用C#求Fibonacci数列的前20项的和
落水书生1年前1
棉花糖即溶巧克力 共回答了19个问题 | 采纳率94.7%
int[] sum = new int[20];
sum[0] = sum[1] = 1;
for (int i = 2; i < 20; i++)
{
sum[i] = sum[i - 1] + sum[i - 2];
}
Console.WriteLine(sum.Sum());
计算出Fibonacci数列的前n项,Fibonacci数列的第一项和第二项都是1,从第三项开始,每项的值都是该项的前两
计算出Fibonacci数列的前n项,Fibonacci数列的第一项和第二项都是1,从第三项开始,每项的值都是该项的前两项之和.即:
F(n) = F (n-1) + F(n-2) n≥3
F(1) = F(2) = 1 n=1,2
用java来编写
慕容鹤雪1年前1
叹息的墙壁 共回答了19个问题 | 采纳率94.7%
很简单啊,用递归.已测试,有问题请留言.hi暂用不了.
public static void main(String args[]){
Test t = new Test();
System.out.println(t.fibonacci(7));
}
public int fibonacci(int num){
int result=0;
if(num==1){
result=1;
}
else if(num==2){
result=1;
}else{
result=fibonacci(num-1)+fibonacci(num-2);
}
return result;
}
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fib
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fibonace:数列的第18项
已知Fibonacci数列定义如下:F(1)=1 F(2)=1 F(n)=f(n-1)+f(n-2)(n>2).求Fibonace:数列的第18项
arieyt1年前2
chenxb2008 共回答了22个问题 | 采纳率81.8%
Private Sub Form_Click()
Dim f(100) As Long
f(1) = 1
f(2) = 1
Print 1; f(1)
Print 2; f(2)
For i = 3 To 18
f(i) = f(i - 1) + f(i - 2)
Print i; f(i)
Next
End Sub
运行结果:f(18)=2854
数据结构编程求救实验一实验内容:二阶Fibonacci数列的定义如下:F0=1,F1=1,F2=2,F3=3,F4=5,
数据结构编程求救
实验一
实验内容:
二阶Fibonacci数列的定义如下:F0=1,F1=1,F2=2,F3=3,F4=5,…,Fi=Fi-1+ Fi-2,i≥1.试用递归和非递归两种方法写出计算Fn的函数.
实验要求:
1.写出计算Fn的递归函数Fib_rec.
2.写出计算Fn的非递归函数Fib_ite.
实验二
实验内容:
1.两个有序序列的合并
将长度分别为m,n的两个有序整数序列合并为一个长度为m+n的有序序列.存储结构采用链表.
实验三
实验内容:
1.实现栈的如下基本操作:push,pop,isempty,isfull,createstack.
2.利用栈的基本操作实现函数conversion(),该函数能把任意输入的十进制整数转化为2进制形式表示.
实验要求:
1.用链表存储结构实现栈的基本操作:push,pop,isempty,isfull,createstack.
2利用栈的基本操作完成函数conversion(),使用以上的基本操作函数完成数制转换函数.
实验四
实验内容:
利用栈的基本操作解决判断输入的括号序列(只有“(” 和“)”组成)是否匹配的问题.
实验要求:
1.用链表存储结构实现栈的基本操作:push,pop,isempty,isfull,createstack.
2.通过调用以上栈的基本函数,实现括号匹配函数,该函数的输入是存储表达式的字符串,输出为是否匹配(如果匹配则返回1,否则返回0).所谓匹配就是左边的一个“(”必须在右边有一个与之对应的“)”.
3.在main()函数中实现表达式的输入,调用括号匹配函数,以及输出.若匹配则输出“ok”,否则输出“bad”.
实验五
实验内容:
在计算机中创建如图所示的二叉树,分别对它进行中序遍历,并输出遍历结果.
注:采用二叉链表作为二叉树的存储结构.
实验要求:
1.编写创建如图所示二叉树的函数,函数名为create.
2.编写递归实现二叉树的中序、先序和后序遍历算法.函数名分别为:inorder,preorder,postorder.
3.完成适合于二该二叉树遍历的栈的push和pop函数.
4.编写中序遍历的非递归函数,函数名称为iter_inorder.
实验六
实验内容:
1.对于给定的某无序序列,使用直接插入排序、快速排序进行排序,并输出每种排序下的各趟排序结果.
各排序算法的输入:
无序序列为:26 5 37 1 61 11 59 15 48 19
输出要求:
对每种算法均需输出原始数据序列、每趟排序的中间结果序列和最后排好序的有序序列.
实验要求:
1.分别实现直接插入排序、快速排序算法.
2.对于给定的输入序列(26 5 37 1 61 11 59 15 48 19),分别用各算法进行排序,并依次输出原始数据序列、每趟排序的中间结果序列和最后已排序的有序序列.
实验七
实验内容:
对于任意输入的图,用邻接表存储该图,输出图并深度优先搜索该图.
输入:无向图中的顶点个数和边数,然后依次输入所有的边,假设同一条边不会输入两次.
输出:然后打印出所有的邻接表,然后打印dfs结果.
joewm1年前1
潇洒来去1 共回答了19个问题 | 采纳率73.7%
晕!自己想吧!
求Fibonacci数列中大于t的最小的一个数,结果由函数返回.实在看不懂啊,
求Fibonacci数列中大于t的最小的一个数,结果由函数返回.实在看不懂啊,
其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
-----------------------
int jsValue(int t)
{ int f1=0,f2=1,fn;
fn=f1+f2;
while(fn
bovey54321年前1
zchvip750213 共回答了20个问题 | 采纳率90%
int jsValue(int t)
{ int f1=0,f2=1,fn;//按照定义赋初值
fn=f1+f2;//第一次求fn
while(fnt
{f1=f2;
f2=fn;
fn=f1+f2;}
return fn;//返回fn
}
一. 应用递归算法输出Fibonacci数列前n个数.F1=1 F2=1 Fn=Fn-1+Fn-2
Ariel_xn1年前1
二一添着五 共回答了14个问题 | 采纳率92.9%
#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
求FIBONACCI数列:1,1,2,3,5,……的前40个数.
motm1年前0
共回答了个问题 | 采纳率
编写程序列出Fibonacci数列的前20项.
错误的对号1年前1
hailianguliu 共回答了24个问题 | 采纳率83.3%
#include
int main()
{
int a=1,b=1,c;
for(int i=0;i
用matlab求fibonacci数列的解(n=20)Fn=Fn-1+Fn-2,其中F1=1,F2=2
cd19841年前1
女朋友uu 共回答了18个问题 | 采纳率88.9%
F(20)=6765
--------------------------------
代码如下:
N=20
F=ones(1,N);
for i=3:N
F(i)=F(i-1)+F(i-2);
end
F(N)