diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-07-17 13:54:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-17 13:54:39 +0100 |
| commit | f9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f (patch) | |
| tree | 8b241f2119705f127329a18ff1d4b52fedfc38e5 | |
| parent | a29819346ac57e5390e3816106aaeb7989940dcf (diff) | |
| parent | face9b611f6e01eb91f746b0f4bbbfe93d095c60 (diff) | |
| download | perlweeklychallenge-club-f9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f.tar.gz perlweeklychallenge-club-f9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f.tar.bz2 perlweeklychallenge-club-f9cc3fe217c2e2ffbb0b2cf7396d022a16fd4d1f.zip | |
Merge pull request #4540 from stuart-little/stuart-little_041_lua
1st commit on 041_lua
| -rwxr-xr-x | challenge-041/stuart-little/lua/ch-1.lua | 33 | ||||
| -rwxr-xr-x | challenge-041/stuart-little/lua/ch-2.lua | 19 |
2 files changed, 52 insertions, 0 deletions
diff --git a/challenge-041/stuart-little/lua/ch-1.lua b/challenge-041/stuart-little/lua/ch-1.lua new file mode 100755 index 0000000000..3f0f2ec97a --- /dev/null +++ b/challenge-041/stuart-little/lua/ch-1.lua @@ -0,0 +1,33 @@ +#!/usr/bin/env lua + +-- run <script> <number of attractive numbers to see> + +function isPrime(n) + if n<2 then return false end + for d=2,math.sqrt(n) do + if n%d==0 then return false end + end + return true +end + +function prFact(n) + local factStr=io.popen(("factor %d"):format(n)):read():match(":%s+(.*)") + local facts={} + for fact in factStr:gmatch("(%S+)") do + table.insert(facts,tonumber(fact)) + end + return facts +end + +function isAtt(n) + return isPrime(#(prFact(n))) +end + +local run,nr=2,0 +while nr<tonumber(arg[1]) do + if isAtt(run) then + print(run) + nr=nr+1 + end + run=run+1 +end diff --git a/challenge-041/stuart-little/lua/ch-2.lua b/challenge-041/stuart-little/lua/ch-2.lua new file mode 100755 index 0000000000..cafc608a77 --- /dev/null +++ b/challenge-041/stuart-little/lua/ch-2.lua @@ -0,0 +1,19 @@ +#!/usr/bin/env lua + +-- run <script> <number of numbers you want listed> + +function showLeo(n) + if n <= 2 then + for i=1,n do print(1) end + os.exit() + end + local prev,cur=1,1 + print(prev) + for i=2,n do + print(cur) + local nxt=prev+cur+1 + prev=cur + cur=nxt + end +end +showLeo(tonumber(arg[1])) |
