aboutsummaryrefslogtreecommitdiff
path: root/challenge-147/roger-bell-west/lua/ch-2.lua
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2022-01-11 06:16:46 +0000
committerdrbaggy <js5@sanger.ac.uk>2022-01-11 06:16:46 +0000
commitf7d69a81862d0ff686fefd288191c26f2e153803 (patch)
tree5a584a9b56fd79ea806c48cfcf3175ee05540cb3 /challenge-147/roger-bell-west/lua/ch-2.lua
parent80a1b64153ca8fcde1b2f59b98fd21ecf0ac716a (diff)
parentd5aef342008aa2a96e8085194e3a3dc6975a723b (diff)
downloadperlweeklychallenge-club-f7d69a81862d0ff686fefd288191c26f2e153803.tar.gz
perlweeklychallenge-club-f7d69a81862d0ff686fefd288191c26f2e153803.tar.bz2
perlweeklychallenge-club-f7d69a81862d0ff686fefd288191c26f2e153803.zip
vi ch-1.plMerge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-147/roger-bell-west/lua/ch-2.lua')
-rwxr-xr-xchallenge-147/roger-bell-west/lua/ch-2.lua38
1 files changed, 38 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..cbe31d0ed8
--- /dev/null
+++ b/challenge-147/roger-bell-west/lua/ch-2.lua
@@ -0,0 +1,38 @@
+#! /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 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()