题目2:在斐波那契数列中,找出4百万以下的项中值为偶数的项之和。
斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
源代码STDMETHODIMP COuLa::Test2(int iMaxNumber)
{
// TODO: 在此添加实现代码
int iFirstNumber = 0;
int iSecondNumber = 1;
int iFinalNumber = iFirstNumber + iSecondNumber;
int iSumNunber = 0;
while(iFinalNumber < iMaxNumber)
{
if(iFinalNumber%2 == 0)
{
iSumNunber = iSumNunber + iFinalNumber;
}
//printf("%d\n",iFinalNumber);//Printf Number for test.
iFirstNumber = iSecondNumber;
iSecondNumber = iFinalNumber;
iFinalNumber = iFirstNumber + iSecondNumber;
}
printf("The Test 2 Sum is %d.\n",iSumNunber);
return S_OK;
}
函数调用
#define TEST2_NUMBER 4000000
IOula->Test2(TEST2_NUMBER);
输出
The Test 2 Sum is 4613732.