use std const main = { for var n: uint64 = 144; true; n++ var hn = n * (n * 2 - 1) /* find pentagonal pn = n(3n-1)/2 */ /* n' < 2/sqrt(3)*n */ var i: uint64 = n * 148 / 128 var pn = i * (i * 3 - 1) / 2 while pn > hn i-- pn = i * (i * 3 - 1) / 2 ;; if (pn != hn) continue ;; /* find triangle tn = n(n+1)/2, n'<2n */ i = n*2 var tn = i * (i + 1) / 2 while tn > hn i-- tn = i * (i + 1) / 2 ;; if (tn != hn) continue ;; std.put("n = {}, h[n] = {}\n", n, hn) break ;; }