lwy又在说梦话了!在梦境中,他遇到了一个和现实生活中不一样的斐波那契数列!
现实中的斐波那契数列:
f(1)=1,f(2)=2
当n≥3时,f(n)=f(n−1)+f(n−2)
lwy梦境中的斐波那契数列:
f(1)=1
当n≥2时,f(n)=f(n−1)+n
接下来,给定一个n,请聪明的你求出lwy梦境中的斐波那契数列描述下的f(n)是多少。
由于答案可能很大,请将答案对4399取模。
科普一下,int只能表示10^9以内的数量级,若不取模数据很大的话,可能会超过int的表示范围。对于10^18以内的数量级,你可以通过使用long long来表示。
long long的输入输出方式如下——
long long n;//定义一个long long数据类型的变量n
scanf("%lld",&n);//输入n
printf("%lld",n);//输出n
输入描述:
输入一个正整数n 1≤n≤10^9
输出描述:
输出一个整数,表示lwy梦境中的斐波那契数列描述下的f(n)是多少
示例1
输入
1908
输出
0
#include <stdio.h>
long long f(int n){
if (n == 1)
return 1;
else
return f(n - 1) + n;
}
int main(){
long long n;
scanf ("%d",&n);
printf("%d",f(n) % 4399);
return 0;
}
该博客讨论了一个特殊的斐波那契数列,它出现在lwy的梦境中。这个数列的定义与常规斐波那契数列不同,其中每个数是前一个数加上当前的索引值。博客提供了计算给定n值下梦境斐波那契数列的方法,并给出了处理大数的注意事项,例如使用long long类型和取模操作。示例展示了如何计算1908在梦境斐波那契数列中的值,并输出结果为0。
562

被折叠的 条评论
为什么被折叠?



