斐波那契数列中的每个新项都是通过将前两个项相加而生成的。从1和2开始,前10个项将是:
1,2,3,5,8,13,21,34,55,89,…
通过考虑斐波那契数列中值不超过400万的项,找到偶值项的总和。
可以直接通过公式来求,第三项等于前两项之和
也可以通过推导公式来求,只求偶数项
Fn=Fn−1+Fn−2
=Fn−2+Fn−3+Fn−3+Fn−4
=2Fn−3+Fn−2+Fn−4
=2Fn−3+(Fn−3+Fn−4)+(Fn−5+Fn−6)
=3Fn−3+Fn−4+Fn−5+Fn−6=4Fn−3+Fn−6
最终公式:EFn=4EFn−1+EFn−2(EF1=2,EF2=8)
#include <iostream>
#include <vector>using namespace std;int main() {vector<int>q {2, 8};int n = 4000000;long long res = 0;int a = 2, b = 8, c = 0;while (1) {c = b * 4 + a;a = b;b = c;if (b < n) q.push_back(b);else break;}for (int i = 0; i < q.size(); i ++ ) {cout << q[i] << ' ';res += q[i];}cout << endl;cout << res << endl;return 0;
}
本文发布于:2024-01-28 01:37:13,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063770393886.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |