noi 1.5 17 菲波那契数列

描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
输入
输入一行,包含一个正整数k。(1 <= k <= 46)
输出
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小
样例输入
19
样例输出
4181
题意
给出一个k,求数列中第k个数是多少,数列中第1,2位的数是1,后一位是前两位的和。
思路
使用for循环,由于前两位已经给出所以k-2。设一个a,b,c,先b=b+a。再用c调换a和b的数值,每循环一次就向前一位,循环的过程中每次让新的数等于前两个数。
代码实现

using namespace std;
int main(){
  int k,a=1,b=1,c;
  cin>>k;
  k=k-2;
    for(int i=0;i<=k;i++){
      b=a+b;//b=b+a。再用c调换a和b的数值,来保持循环。
      c=a;//a,b调换位置。因为循环每次都只能往一个值上加。
      a=b;
      b=c;
    }
  cout<<b;//最后循环会多出一次所以输出上一次的a。
  return 0;
}

 
posted @   许长生  阅读(128)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示