题目链接:https://projecteuler.net/problem=2
按题意模拟即可
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=4e6+5;
int dp[MAXN];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
ll ans=0;
dp[1]=1;dp[2]=2;
for(int i=3;i<MAXN;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
for(int i=1;dp[i]<=4000000;i++)
{
if(dp[i]%2==0)
ans+=dp[i];
}
printf("%lld\n",ans);
return 0;
}