## Euler Problem 2 Definition

*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:*

*By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.*

## Solution

The code generates Fibonacci numbers until it reaches the value of four million. The code then sums the even numbers in the sequence.

fib <- c(1, 2) #Define first two numbers while (max(fib) < 4e+06) { # Generate Fibonacci numbers until limit is reached len <- length(fib) fib <- c(fib, fib[len - 1] + fib[len]) } answer <- sum(fib[fib%%2 == 0])

A range of packages exists that generate Fibonacci numbers. The *gmp* package for Multiple Precision Arithmetic and the numbers package supplies functions to calculate the n^{th} Fibonacci number. This package is also able to work with very large numbers.

library(gmp) i <- 1 answer <- 0 fib <- fibnum(1) while (fibnum(i) <= 4E6) { fib <- fibnum(i) if (fib %% 2==0) answer <- answer + fib i <- i + 1 } print(answer)

This code on GitHub.

## Fibonacci Numbers as a magic trick

Fibonacci numbers describe many natural processes and can also be used to create magic tricks. The Missing Square Puzzle is based on this principle.