#include<iostream>
using namespace std;
int juzhen(int n)
{
int arr[2][2]={{1,1},{1,0}};
int res[2][2]={{1,1},{1,0}};
for(int i=0;i<n;i++)
{
int t1,t2,t3,t4;
t1=res[0][0]*arr[0][0]+res[0][1]*arr[1][0];
t2=res[0][0]*arr[0][1]+res[0][1]*arr[1][1];
t3=res[1][0]*arr[0][0]+res[1][1]*arr[1][0];
t4=res[1][0]*arr[0][1]+res[1][1]*arr[1][1];
res[0][0]=t1;
res[0][1]=t2;
res[1][0]=t3;
res[1][1]=t4;
}
return res[0][0];
}
int fei(int n)
{
if(n<=1)
return n;
else{
return juzhen(n-2);
}
}
int main()
{
for(int i=0;i<35;i++)
cout<<"第"<<i<<"个数的斐波那契数列的值为:"<<fei(i)<<endl;
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7165199476e80a3216dc2470775c8b1e.png)