斐波那契数列第100个是什么

如题所述

第100个数是:3.54224848179262*10^20 另外,1-100的粗略表示如下a3=2
a4=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
a19=4181
a20=6765
a21=10946
a22=17711
a23=28657
a24=46368
a25=75025
a26=121393
a27=196418
a28=317811
a29=514229
a30=832040
a31=1.34627e+006
a32=2.17831e+006
a33=3.52458e+006
a34=5.70289e+006
a35=9.22747e+006
a36=1.49304e+007
a37=2.41578e+007
a38=3.90882e+007
a39=6.3246e+007
a40=1.02334e+008
a41=1.6558e+008
a42=2.67914e+008
a43=4.33494e+008
a44=7.01409e+008
a45=1.1349e+009
a46=1.83631e+009
a47=2.97122e+009
a48=4.80753e+009
a49=7.77874e+009
a50=1.25863e+010
a51=2.0365e+010
a52=3.29513e+010
a53=5.33163e+010
a54=8.62676e+010
a55=1.39584e+011
a56=2.25851e+011
a57=3.65435e+011
a58=5.91287e+011
a59=9.56722e+011
a60=1.54801e+012
a61=2.50473e+012
a62=4.05274e+012
a63=6.55747e+012
a64=1.06102e+013
a65=1.71677e+013
a66=2.77779e+013
a67=4.49456e+013
a68=7.27235e+013
a69=1.17669e+014
a70=1.90392e+014
a71=3.08062e+014
a72=4.98454e+014
a73=8.06516e+014
a74=1.30497e+015
a75=2.11149e+015
a76=3.41645e+015
a77=5.52794e+015
a78=8.94439e+015
a79=1.44723e+016
a80=2.34167e+016
a81=3.78891e+016
a82=6.13058e+016
a83=9.91949e+016
a84=1.60501e+017
a85=2.59695e+017
a86=4.20196e+017
a87=6.79892e+017
a88=1.10009e+018
a89=1.77998e+018
a90=2.88007e+018
a91=4.66005e+018
a92=7.54011e+018
a93=1.22002e+019
a94=1.97403e+019
a95=3.19404e+019
a96=5.16807e+019
a97=8.36211e+019
a98=1.35302e+020
a99=2.18923e+020
a100=3.54225e+020
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-07
斐波那契数列:1,1,2,3,5,8,13,21……
如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:
F(0) = 0,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】
第2个回答  2013-11-07
#include<iostream.h>
#include<cstring>
char sum[1200];
int s=0,m=0,n;
void main()
{
cin>>n;
char s1[1200],s2[1200];
int a[1200],b[1200];
int he,i;
strcpy(s1,"1");
strcpy(s2,"1");

for(m=2;m<n;m++)
{
memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); a[0]=strlen(s1);
for(i=1;i<=a[0];i++)
{
a[i]=s1[a[0]-i]-'0';
}
b[0]=strlen(s2);
for(i=1;i<=b[0];i++)
{
b[i]=s2[b[0]-i]-'0';
}
he=(a[0]>b[0]?a[0]:b[0]);
for(i=1;i<=he;i++)
{
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
he++;
while((a[he]==0)&&(he>1))
he--;
for(i=he,s=0;i>=1;i--,s++)
{
sum[s]=a[i]+'0';
}
strcpy(s1,s2);
strcpy(s2,sum);
}
cout<<s2<<endl;

}C++语言代码,用高精度写的输入100得第100个数具体值为:354224848179261915075
相似回答