aboutsummaryrefslogtreecommitdiff
path: root/challenge-147/roger-bell-west/lua/ch-2.lua
diff options
context:
space:
mode:
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()