Post date: Apr 04, 2014 11:23:23 PM
"Find the sum of the even-valued numbers in the Fibonacci sequence whose values are not over 4 million."
CREATE TABLE #Map (i INT NOT NULL PRIMARY KEY, fib INT NOT NULL)
INSERT INTO #Map VALUES (0, 0), (1, 1)
DECLARE @c INT = 0
WHILE 1 = 1
BEGIN
INSERT INTO #Map
SELECT @c, p1.fib + p2.fib
FROM #Map p1
CROSS JOIN #Map p2
WHERE p1.i = @c - 1
AND p2.i = @c - 2
IF (SELECT MAX(fib) FROM #Map) > 4000000
BREAK
SET @c = @c + 1
END
SELECT SUM(fib)
FROM #Map
WHERE fib < 4000000
AND fib % 2 = 0
DROP TABLE #Map