C++程序 查找斐波那契数列偶数项之和
斐波那契数列(Fibonacci sequence)是指这样一个数列:0、1、1、2、3、5、8、13、21、34、……。这个数列从第三项开始,每一项都等于前两项之和,即 F(n)=F(n-1)+F(n-2)(n>=2)。而偶数项就是数列中2,8,34,……这样的数。本文将介绍如何用C++程序查找斐波那契数列偶数项之和。
斐波那契数列的C++实现
我们可以通过循环计算斐波那契数列并将偶数项累加进一个总和中来实现。下面是一个简单的C++实现:
#include <iostream>
long long Fibonacci(int num) {
if (num <= 0) {
return 0;
} else if (num == 1) {
return 1;
} else {
return Fibonacci(num - 1) + Fibonacci(num - 2);
}
}
long long SumFibEven(int num) {
long long sum = 0;
for (int i = 2; i <= num; i += 3) {
sum += Fibonacci(i);
}
return sum;
}
int main() {
std::cout << "The sum of even Fibonacci numbers between 0 and 4000000 is: "
<< SumFibEven(33) << std::endl;
return 0;
}
这段代码首先定义了两个函数,一个用来计算斐波那契数列中的第N项,另一个用来计算某个数列范围内偶数项之和。具体来说,我们从第二项开始,每三项取一个,这样就得到了数列中的偶数项。
完整C++程序
下面是一个完整的C++程序,可以在Windows、Linux和macOS上编译运行:
#include <iostream>
long long Fibonacci(int num) {
if (num <= 0) {
return 0;
} else if (num == 1) {
return 1;
} else {
return Fibonacci(num - 1) + Fibonacci(num - 2);
}
}
long long SumFibEven(int num) {
long long sum = 0;
for (int i = 2; i <= num; i += 3) {
sum += Fibonacci(i);
}
return sum;
}
int main() {
std::cout << "The sum of even Fibonacci numbers between 0 and 4000000 is: "
<< SumFibEven(33) << std::endl;
return 0;
}
这个程序会打印出所有斐波那契数列中小于等于400万的偶数项之和。
结论
本文介绍了如何用C++程序计算斐波那契数列偶数项之和。斐波那契数列在计算机科学中有许多应用,例如密码学和动态规划。掌握了这个程序,有助于学习计算机科学中更高级的概念。