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, ...
Find the sum of all the even-valued terms in the sequence which do not exceed four million.
Powershell Solution:
- $n1 = 1
- $n2 = 1
- $sum = 0
- while(($n1+$n2) -lt 4e+6)
- {
- if($n2 -gt $n1)
- {
- $n1=$n1+$n2
- if($n1%2 -eq 0)
- {
- $sum = $sum + $n1
- }
- }
- else
- {
- $n2=$n1+$n2
- if($n2%2 -eq 0)
- {
- $sum = $sum + $n2
- }
- }
- }
- $sum
$sum = 4613732
The above solution doesn’t look that elegant though…
I think it can still be optimized… but anyway, I’ll try again if I have the time…
2 comments:
Sorry for removing the comment.
But, kindly post something that is related. Irrelevant advertisement seems inappropriate. Thank you for your kind consideration.
Post a Comment