aboutsummaryrefslogtreecommitdiff
path: root/challenge-147/roger-bell-west/lua/ch-2.lua
diff options
context:
space:
mode:
authorRoger Bell_West <Firedrake@users.noreply.github.com>2022-01-10 10:58:14 +0000
committerRoger Bell_West <Firedrake@users.noreply.github.com>2022-01-10 10:58:14 +0000
commit89b75091efcc8ab7ec62564a9dbe319cb0552eba (patch)
treea07d964290c1927412d827375c28126975744653 /challenge-147/roger-bell-west/lua/ch-2.lua
parente9411bdc7658179af3f23d3ada7970323547a7d7 (diff)
downloadperlweeklychallenge-club-89b75091efcc8ab7ec62564a9dbe319cb0552eba.tar.gz
perlweeklychallenge-club-89b75091efcc8ab7ec62564a9dbe319cb0552eba.tar.bz2
perlweeklychallenge-club-89b75091efcc8ab7ec62564a9dbe319cb0552eba.zip
Solutions for challenge #147
Diffstat (limited to 'challenge-147/roger-bell-west/lua/ch-2.lua')
-rwxr-xr-xchallenge-147/roger-bell-west/lua/ch-2.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/challenge-147/roger-bell-west/lua/ch-2.lua b/challenge-147/roger-bell-west/lua/ch-2.lua
new file mode 100755
index 0000000000..c46defd3d4
--- /dev/null
+++ b/challenge-147/roger-bell-west/lua/ch-2.lua
@@ -0,0 +1,41 @@
+#! /usr/bin/lua
+
+function pentagon(n)
+ return math.floor(n*(3*n-1)/2)
+end
+
+function pentpair()
+ fpent={}
+ rpent={}
+ mx=0
+ a=1
+ while 1 do
+ while mx < a do
+ mx = mx + 1
+ table.insert(fpent,pentagon(mx))
+ rpent[fpent[mx]]=mx
+ end
+ for b = 1,a do
+ d=fpent[a]-fpent[b]
+ if d < fpent[b] then
+ break
+ end
+ if rpent[d] ~= nil then
+ s=fpent[a]+fpent[b]
+ while s > fpent[mx] do
+ mx = mx + 1
+ table.insert(fpent,pentagon(mx))
+ rpent[fpent[mx]]=mx
+ end
+ if rpent[s] ~= nil then
+ print(string.format("P(%d) + P(%d) = %d + %d = %d = P(%d)",a,b,fpent[a],fpent[b],s,rpent[s]))
+ print(string.format("P(%d) - P(%d) = %d - %d = %d = P(%d)",a,b,fpent[a],fpent[b],d,rpent[d]))
+ os.exit(0)
+ end
+ end
+ end
+ a = a + 1
+ end
+end
+
+pentpair()