链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
lwy又在说梦话了!在梦境中,他遇到了一个和现实生活中不一样的斐波那契数列!
现实中的斐波那契数列:
f(1)=1,f(2)=2f(1)=1,f(2)=2f(1)=1,f(2)=2
当n≥3n\ge 3n≥3时,f(n)=f(n−1)+f(n−2)f(n)=f(n-1)+f(n-2)f(n)=f(n−1)+f(n−2)
lwy梦境中的斐波那契数列:
f(1)=1f(1)=1f(1)=1
当n≥2n\ge 2n≥2时,f(n)=f(n−1)+n
接下来,给定一个nnn,请聪明的你求出lwy梦境中的斐波那契数列描述下的f(n)是多少。
由于答案可能很大,请将答案对439943994399取模。
科普一下,int只能表示10910^9109以内的数量级,若不取模数据很大的话,可能会超过int的表示范围。对于101810^{18}1018以内的数量级,你可以通过使用long long来表示。
long long的输入输出方式如下——
long long n;//定义一个long long数据类型的变量n scanf("%lld",&n);//输入n printf("%lld",n);//输出n
输入描述:
输入一个正整数nnn
1≤n≤1091\le n\le10^91≤n≤109
输出描述:
输出一个整数,表示lwy梦境中的斐波那契数列描述下的f(n)是多少
示例1
输入
1908
输出
0
#include<bits/stdc++.h>
using namespace std;
long long f(long long x){
if(x==1)return 1;
else return f(x-1)+x;
}
int main(){
long long n,y;
cin>>n;
y=f(n);
y=y%4399;
cout<<y;
return 0;
}
//这个题目复制过来会有一些格式问题,大家可参考网址查看原题,牛客网官方也是进行了设置,复制的时候自带了官网,然后这里做个小记,遇到新题目和文字多的题目,不要怕,慢慢理解,一点点消化,不然心态真的很影响做题速度和质量,也不要去太多关心时间问题和别人做的多快