diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-07-26 14:23:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-26 14:23:57 +0100 |
| commit | 346d8b1e04a24cfe3c3efb0bc179b9a0912e801a (patch) | |
| tree | 53ddd69da52fbb7e37906fab38b03d55e4ea7f75 /challenge-070 | |
| parent | 228f324fa830e59f51eafba57a3e3e6d145c3ce1 (diff) | |
| parent | f6795e0b8479e43c601aeccd0d8091f7e7a67517 (diff) | |
| download | perlweeklychallenge-club-346d8b1e04a24cfe3c3efb0bc179b9a0912e801a.tar.gz perlweeklychallenge-club-346d8b1e04a24cfe3c3efb0bc179b9a0912e801a.tar.bz2 perlweeklychallenge-club-346d8b1e04a24cfe3c3efb0bc179b9a0912e801a.zip | |
Merge pull request #1979 from E7-87-83/master
Cheok Yin's submission for Challenge 070
Diffstat (limited to 'challenge-070')
| -rw-r--r-- | challenge-070/cheok-yin-fung/common-lisp/ch-2.lsp | 17 | ||||
| -rw-r--r-- | challenge-070/cheok-yin-fung/perl/ch-1.pl | 24 | ||||
| -rw-r--r-- | challenge-070/cheok-yin-fung/perl/ch-2.pl | 21 |
3 files changed, 62 insertions, 0 deletions
diff --git a/challenge-070/cheok-yin-fung/common-lisp/ch-2.lsp b/challenge-070/cheok-yin-fung/common-lisp/ch-2.lsp new file mode 100644 index 0000000000..34828f265f --- /dev/null +++ b/challenge-070/cheok-yin-fung/common-lisp/ch-2.lsp @@ -0,0 +1,17 @@ +;; Perl Weekly Challenge 070 Task 2 Gray Code Sequence + +(setf n 4) +(setf a '(0 1)) +(setf m (- n 1)) + +(loop for i from 1 upto m do + (setf 2power (expt 2 i)) + (defun add2pow (terms) (+ 2power terms)) + (setf b (reverse a)) + (setf b (mapcar #'add2pow b)) + (setf a (append a b)) +) + +;; now the variable a stores the n-bit gray code sequence + +a diff --git a/challenge-070/cheok-yin-fung/perl/ch-1.pl b/challenge-070/cheok-yin-fung/perl/ch-1.pl new file mode 100644 index 0000000000..042304fe2d --- /dev/null +++ b/challenge-070/cheok-yin-fung/perl/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl +# Perl Weekly Challenge #070 Task 1 Character Swapping +# Usage: ch-1.pl [string] [swap count] [offset] + +use strict; +use warnings; + +my $s = 'perlandraku'; +my $C = 3; +my $O = 4; + +if ($ARGV[0] and $ARGV[1] and $ARGV[2]) { + $s = $ARGV[0]; + $C = $ARGV[1]; + $O = $ARGV[2]; +} + + +for my $counter (1..$C) { + my $t = substr $s, $counter, 1; + my $z = substr($s, $counter+$O, 1, $t); + substr $s, $counter, 1, $z; + print $counter, " ", $s, "\n"; +} diff --git a/challenge-070/cheok-yin-fung/perl/ch-2.pl b/challenge-070/cheok-yin-fung/perl/ch-2.pl new file mode 100644 index 0000000000..5d5b17ceb3 --- /dev/null +++ b/challenge-070/cheok-yin-fung/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +# Perl Weekly Challenge #070 Task 2 Gray Code Sequence +# Usage: ch-2.pl [order of Gray code wanted to generate] + +use strict; +use warnings; + +my @a = (0,1); +my $N = 3; +if ($ARGV[0]) {$N = $ARGV[0];} + +sub printa { + print join " ", @a; + print "\n"; +} + +for my $i (2..$N) { + push @a, reverse (map {$_ + 2**($i-1)} @a); +} + +printa; |
