피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
피보나치 수열을 하나씩 구해가면서 짝수일 경우 차례로 더해서 출력한다.
역시 간단한 문제.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/usr/bin/env perl use 5.010; use strict; use warnings; my $a = 1; my $b = 0; my $sum = 0; while ($a <= 4000000) { $sum += $a if ($a%2 == 0); my $temp = $a + $b; $b = $a; $a = $temp; } say $sum; |