每日一题 — 2020 - 04 - 21

题目链接

规律题,说实话一开始没看出来,然后才看出来是递推式(斐波那契),还是太菜了(又学到了新知识)

解题思路:

  • 首先如果看不懂题意可以先画图,画着画着就可以发现,下面的图形是原本上面两个图形的拼接
  • 然后就直接斐波那契递推式就OK了
  • 不过最上面有个固定不变的2,画图即可看出

代码:

#include <iostream>
#include <cstdio>

using namespace std;

const long long mod = 1e10 + 7;
const int N = 5000010;

long long a[N];

int main(){
	int n;
	scanf("%d",&n);

	a[1] = 1;
	
	for (int i = 2; i <= n; i ++){
		a[i] = (a[i - 1] + a[i - 2] + 2) % mod;
	}

	printf("%lld\n",a[n]);
	return 0;
}
发布了121 篇原创文章 · 获赞 7 · 访问量 4313

猜你喜欢

转载自blog.csdn.net/LiangNiuMu/article/details/105653200