Post date: Sep 25, 2014 12:0:12 AM
"Consider the three series n * (n + 1)/2, n * (3n - 1)/2, and n * (2n - 1), where n is a positive integer. What is the lowest integer, greater than 40755, that is an element of all three series?"
This is a trivial inner join among three sequences.
CREATE TABLE #Integers (i BIGINT PRIMARY KEY NOT NULL)
; WITH Ten (i) AS
(
SELECT 0
UNION ALL
SELECT i + 1
FROM Ten
WHERE i < 9
)
INSERT INTO #Integers
SELECT 10000 * k10.i + 1000 * k.i + 100 * h.i + 10 * t.i + o.i
FROM Ten o
CROSS JOIN Ten t
CROSS JOIN Ten h
CROSS JOIN Ten k
CROSS JOIN Ten k10
; WITH Triangle (t) AS
(
SELECT 0.5 * i * (i + 1)
FROM #Integers i
),
Pentagon (p) AS
(
SELECT 0.5 * i * (3 * i - 1)
FROM #Integers i
),
Hexagon (h) AS
(
SELECT i * (2 * i - 1)
FROM #Integers i
)
SELECT CONVERT(bigint,t)
FROM Triangle t
INNER JOIN Pentagon p
ON p.p = t.t
INNER JOIN Hexagon h
ON h.h = t.t
WHERE t.t > 40755
DROP TABLE #Integers