TheAlgorithms-C/project_euler/problem_2/so1.c

37 lines
806 B
C
Raw Normal View History

2020-06-05 19:20:25 +03:00
/**
* \file
* \brief [Problem 2](https://projecteuler.net/problem=2) solution
*
* Problem:
*
* Each new term in the Fibonacci sequence is generated by adding the previous
* two terms. By starting with 1 and 2, the first 10 terms will be:
* `1,2,3,5,8,13,21,34,55,89,..`
* By considering the terms in the Fibonacci sequence whose values do not exceed
* n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum
* is 10.
*/
2017-12-03 13:16:36 +03:00
#include <stdio.h>
2020-06-05 19:20:25 +03:00
/** Main function */
int main()
{
int n = 0;
int sum = 0;
int i = 1;
int j = 2;
int temp;
scanf("%d", &n);
2017-12-03 13:16:36 +03:00
while (j <= n)
{
if ((j & 1) == 0) // can also use(j%2 == 0)
sum += j;
temp = i;
i = j;
j = temp + i;
}
2017-12-03 13:16:36 +03:00
printf("%d\n", sum);
2020-06-05 19:20:25 +03:00
return 0;
2017-12-03 13:16:36 +03:00
}