C++的PTA问题斐波那契数列

问题描述
斐波那契(Fibonacci)数列,又称黄金分割数列:该数列的第一项是0,第二项是1,从第三项起每一项都是前两项之和。

编写C语言程序,从键盘读入2个整数m和n(m和n使用空格分隔),然后输出斐波那契数列中数值介于m与n之间(包含m与n)的项,项与项之间用空格分隔。最后一个数后面没有空格。

输入格式
一共1行数据,包含2个整数m和n(m和n使用空格分隔)。

输出格式
项与项之间使用一个空格分隔。最后一个数后面没有空格。

数据规模与约定
整数m和n的值约定为 0 ≤ m < n ≤ 1 000 000 000 000 000 000。保证在给定的区间至少有1个项。


#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    if(n==1||n==2)
        cout<<"1";
    if(n>2){
        long c[n];
        int t1=1,t2=1,t3;
        for(int i=3;i<=n;i++){
            t3=(t1+t2)%998244353;
            t1=t2;
            t2=t3;
        }
        cout<<t3;
    }
}