解题思路:
1.求斐波那契数列的第k项,那么首先定义两个变量a1和a2,因为后面的一项总是等于前两项的和,并且前两项都为1
2.然后判断一下如果k是小于3的,说明直接可以输出1,因为第一个值和第二个值都是1
3.如果k是大于2的,表示求后面的值,在这里创建一个3-k次的循环,ak=a1+a2,先把前两项的和求出来,然后a1=a2,此时第二项的值赋值给第一项,因为再求下一个数的是,往前移动一个数字
,然后将a2=ak,将两数之和,赋值给a2,此时的a1和a2已经变化了,继续求下一项的值
4.最后输出ak即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,ak;//定义变量k表示求第k项
cin>>k;//输入k的值
int a1=1,a2=1;//定义前两项a1和a2均为1
if(k==1||k==2)//判断如果k为1或者2的时候
cout<<1;//输出1即可
else//如果k>2的话,利用循环来求
{
for(int i=3;i<=k;i++)//创建一个3-k的循环
{
ak=a1+a2;//先将前两项求和
a1=a2;//然后第二项的值赋值给第一项
a2=ak;//他俩的和赋值给第二项
}
cout<<ak;//输出第k项的值
}
return 0;
}