C++信息学奥赛1190:上台阶

C++信息学奥赛1190:上台阶_第1张图片

#include 
using namespace std;

long long arr[80];  // 用于存储斐波那契数列的数组

int main() {
    int n;
    arr[1]=1;   // 初始化斐波那契数列的前三个元素
    arr[2]=2;
    arr[3]=4;
    
    for(int i=4;i<=71;i++) {  // 计算斐波那契数列的第4到第71个元素
        arr[i]=arr[i-1]+arr[i-2]+arr[i-3];
    }
    
    while(cin>>n&&n!=0){  // 循环读取输入的数字n,直到输入为0时退出循环
        cout<<arr[n]<<endl;  // 输出斐波那契数列的第n个元素
    }

    return 0;
}

代码逻辑如下:

  1. 首先包含了iostream库,以便使用输入输出流。
  2. 使用命名空间std,避免在代码中频繁使用std::。
  3. 声明了一个长整型数组arr,长度为80,用于存储斐波那契数列。
  4. 主函数main开始。
  5. 初始化斐波那契数列的前三个元素,arr[1]=1,arr[2]=2,arr[3]=4。
  6. 使用for循环计算斐波那契数列的第4到第71个元素,arr[i]=arr[i-1]+arr[i-2]+arr[i-3]。
  7. 使用while循环读取输入的数字n,当n为0时退出循环。
  8. 输出斐波那契数列的第n个元素,即arr[n]。
  9. 返回0,表示程序正常结束。

你可能感兴趣的:(C++信息学奥赛,c++,java,算法)