diff options
| author | drbaggy <js5@sanger.ac.uk> | 2021-04-26 09:15:20 +0100 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2021-04-26 09:15:20 +0100 |
| commit | 03f28cae3ddea3b08a671dd3f20f3d32777aa4db (patch) | |
| tree | 7aea1f86e706cf8233d89d704ac2342a0c63d059 /challenge-109/laurent-rosenfeld/lua | |
| parent | 46b8aecc9397c6211a1e97a7f0638833726294a2 (diff) | |
| parent | 1ff197d81f941c3dd35d77bec8a0326807e8d2b1 (diff) | |
| download | perlweeklychallenge-club-03f28cae3ddea3b08a671dd3f20f3d32777aa4db.tar.gz perlweeklychallenge-club-03f28cae3ddea3b08a671dd3f20f3d32777aa4db.tar.bz2 perlweeklychallenge-club-03f28cae3ddea3b08a671dd3f20f3d32777aa4db.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-109/laurent-rosenfeld/lua')
| -rw-r--r-- | challenge-109/laurent-rosenfeld/lua/ch-2.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-109/laurent-rosenfeld/lua/ch-2.lua b/challenge-109/laurent-rosenfeld/lua/ch-2.lua new file mode 100644 index 0000000000..e972de6a62 --- /dev/null +++ b/challenge-109/laurent-rosenfeld/lua/ch-2.lua @@ -0,0 +1,20 @@ +local function check_square (p) + sum = p[1] + p[2] + return p[2] + p[3] + p[4] == sum and + p[4] + p[5] + p[6] == sum and + p[6] + p[7] == sum +end + +local function permute(perm, n) + if n == 0 and check_square(perm) then + print( table.concat(perm, ' ') ) + else + for i = 1, n do + perm[i], perm[n] = perm[n], perm[i] + permute(perm, n - 1) + perm[i], perm[n] = perm[n], perm[i] + end + end +end + +permute({1,2,3,4,5,6,7}, 7) |
