From 3caa8876e4c1d71cf8973d0d78231f16a0cd5b93 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Fri, 25 May 2018 00:16:47 +0800 Subject: 45, 46, 92 --- euler45.myr | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 euler45.myr (limited to 'euler45.myr') diff --git a/euler45.myr b/euler45.myr new file mode 100644 index 0000000..3bf53fc --- /dev/null +++ b/euler45.myr @@ -0,0 +1,30 @@ +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 + ;; +} -- cgit v1.2.3