From 44dbdf9f6469b72a383eb3b95fbaf17d228facca Mon Sep 17 00:00:00 2001 From: Abigail Date: Fri, 7 Jan 2022 14:07:10 +0100 Subject: Week 4, part1: Go solution --- challenge-004/abigail/README.md | 1 + challenge-004/abigail/go/ch-1.go | 73 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 challenge-004/abigail/go/ch-1.go diff --git a/challenge-004/abigail/README.md b/challenge-004/abigail/README.md index 75267e87b2..2847d51cf2 100644 --- a/challenge-004/abigail/README.md +++ b/challenge-004/abigail/README.md @@ -24,6 +24,7 @@ and printing. We may even need to filler comments to make it all work out. * [AWK](awk/ch-1.awk) * [Bash](bash/ch-1.sh) * [C](c/ch-1.c) +* [Go](go/ch-1.go) * [Lua](lua/ch-1.lua) * [Node.js](node/ch-1.node) * [Perl](perl/ch-1.pl) diff --git a/challenge-004/abigail/go/ch-1.go b/challenge-004/abigail/go/ch-1.go new file mode 100644 index 0000000000..961f901695 --- /dev/null +++ b/challenge-004/abigail/go/ch-1.go @@ -0,0 +1,73 @@ +package main + +// +// See https://theweeklychallenge.org/blog/perl-weekly-challenge-004 +// + +// +// Run as: go run ch-1.go < input-file +// + +import ( + "fmt" +) + +func main () { + first_ord := int ('"') + 1; + skip_ord := int ('\\'); + last_ord := int ('~'); + ord_range := last_ord - first_ord; + in_size := 5; + pi := [] rune ( + "%(uP7+Y`ME)gy(7')v?;%s^qc(Mj1}16idp'ONGs'2m.o,1HLY'}~P61@@Y-" + + "*O/.v,Jc~D+ttA'&EPjR(zXxD$dr,M$P=-f*YQqe,GIZ`0x5oL1(mpl17en`" + + ")Q$ge,L6_5.I;hj%yy6n,L_t')dtyy)[ugS&-3(c&lC:a&~8SP#+iis+WR&8" + + "*Y;V3/+JD@-J>7u0$Nh<#2&:@+#=`/*YtP-0t8uf+tf/V&yjx>+]S=&%d}7z" + + "0YXa9$SOyt$*mzv1&X(W(.{0G-Vya`0a}KI0pQD2,nV0:,WE0+#?F[>(iMb}" + + "%k(tB/UO0m.8R'x%Vys_-|IgL.y-n6(v[*#+/-J1#[`]" + + "&*M#'1wg" + + "-}+B}*jWDi)/2&k,h|/)+eu-3)9{mU-`:]M/YF$a.O0SF0{~2C.EjkZ&>|lD" + + "#%UmL+w)$V&14Ty0arq+%xnAo/XX/y0_=Bl/)f*}'Gc88'GV;X1RG~<+gJ8p" + + "&^E~A'/3N=*R2|j&SgD@-0St?*jL@'-ZsbD$+_hy.#HkF0cO_[#t0wL-8._r" + + "#0)@p#4(ha+lyD6,[|1w%_K//+c2#j.4xl2)SpX=.>)gp$R)ZP,IS%@,}%#J" + + "*1zj[,sIw#%6pwl%D'fk#Bx6'%4?.0&c9'?#R7P|&ZJ;M&q6q&&|h9?0LVI}" + + "(2lq>#/G+<,Bv`l+U'K?'2i}q+,J8W/7dU++X(l51R>#T&)fV0'I%FC%HHkt" + + "%{(NN&Kn$]*e0," + + "$K`U.%bSL*&dG^f,lN@.+jGbU.g8,s&FwUP$9p3S/)f(4,y>{*/L)t" + + "-Oi$Y*&I1x1Kyk#$}~i|)^4uG%|&sU)XNR-,PLl/.lmT'&_~it-16U9-B~A[" + + "(}s.a0~]Zj*<*~%-~N27%$O,*/a,,c%<#@60On3z0~3@B13UOG/A^&K,GRHi" + + ",S_:*&9I{_$nCM9&U^*9)WmPj+$TL8.]WpP)CWDR$u#7])K/Bi+,[B9(0~a&" + + "&=aag,L-UG#HoAx/=@p,&ux{:0($3X*[J<4,eh{E1F&tE$cGo.&C}15*:u{Z" + + ",:*H^'f,=~$,z%B)WZbL$DjA;/oFKa%.>ig/^o.90e/P=*Auex0TD}p/hncA" + + "/%d87#/u19,r&sM(A+4V0%4u$.}F+P0o|4e.g(<[#5yy*]3@5%II741/XZ>)Lm6e0``3L%.JF[+Z?8b(tj7C" + + "'S/z}#vS|i)S9[=*/nCG)PMaY-{pML);vN?%kRcr#*.Tg,x;42'(1w.0dA)S" + + ")-us%.#1$R-rkwf%m%B-(ctK8+4Sn^%*C1Y-wqsr%eNg11%$De&&07q+%1>-" + + "+mCl2%)V#w%#y:[,?t*D$64`9.U+{`-SBX-+gi/o)0B$q#V$tW+#lmM)';EH" + + "%yFPZ/Gy(~,dl@h)A&ju-Co2,-du++)[Awk&wE}p*H;._.[]4W+Eb7K#iiKB") + fmt . Print ("3.") + for i := 0; i < len (pi); i += in_size { + out := 0 + for j := i; j < i + in_size; j ++ { + out *= ord_range + out += int (pi [j]) - first_ord + if int (pi [j]) > skip_ord { + out -- + } + } + fmt . Printf ("%09d", out) + } + fmt . Print ("\n") +} + +// +// FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER +// FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER +// FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER? +// FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER +// FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER FODDER! +// -- cgit