From 0b0b33e272016af63f695be0a7408fc034609032 Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 28 Jun 2021 12:09:00 +0200 Subject: Raku week 119 task 1 --- challenge-119/luc65r/raku/ch-1.raku | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 challenge-119/luc65r/raku/ch-1.raku diff --git a/challenge-119/luc65r/raku/ch-1.raku b/challenge-119/luc65r/raku/ch-1.raku new file mode 100755 index 0000000000..e43b938597 --- /dev/null +++ b/challenge-119/luc65r/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/usr/bin/env raku + +sub MAIN(UInt:D $n where * < 256) { + say $n +> 4 +| $n +< 4 +& 0xf0; +} -- cgit From 171423c72ea0cf0e5e7322e9bc7443e10ef38c1e Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Mon, 28 Jun 2021 18:19:50 +0200 Subject: Raku week 119 task 2 --- challenge-119/luc65r/raku/ch-2.raku | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 challenge-119/luc65r/raku/ch-2.raku diff --git a/challenge-119/luc65r/raku/ch-2.raku b/challenge-119/luc65r/raku/ch-2.raku new file mode 100755 index 0000000000..dea0af3a18 --- /dev/null +++ b/challenge-119/luc65r/raku/ch-2.raku @@ -0,0 +1,6 @@ +#!/usr/bin/env raku + +sub MAIN(UInt:D $n where * > 0) { + my @s = grep { ! / 0 | 11 / }, map { .base: 4 }, 1 .. ∞; + say @s[$n - 1]; +} -- cgit From c0615a66ff9c4e99edbe40696c590f3772eb362e Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Tue, 29 Jun 2021 16:34:39 +0200 Subject: Myrddin week 119 task 1 --- challenge-119/luc65r/myrddin/ch-1.myr | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 challenge-119/luc65r/myrddin/ch-1.myr diff --git a/challenge-119/luc65r/myrddin/ch-1.myr b/challenge-119/luc65r/myrddin/ch-1.myr new file mode 100644 index 0000000000..0b5df84ec8 --- /dev/null +++ b/challenge-119/luc65r/myrddin/ch-1.myr @@ -0,0 +1,6 @@ +use std + +const main = {args : byte[:][:] -> void + var n : uint8 = std.get(std.intparse(args[1])) + std.put("{}\n", n >> 4 | n << 4) +} -- cgit From 11fdc8a380613683c8642b7e397cb296fdf1fd4f Mon Sep 17 00:00:00 2001 From: Lucas Ransan Date: Sun, 4 Jul 2021 13:09:32 +0200 Subject: Myrddin week 119 task 2 --- challenge-119/luc65r/myrddin/ch-2.myr | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 challenge-119/luc65r/myrddin/ch-2.myr diff --git a/challenge-119/luc65r/myrddin/ch-2.myr b/challenge-119/luc65r/myrddin/ch-2.myr new file mode 100644 index 0000000000..e0e15338b8 --- /dev/null +++ b/challenge-119/luc65r/myrddin/ch-2.myr @@ -0,0 +1,30 @@ +use std + +const main = {args : byte[:][:] -> void + var a : uint64 = 1 + for var n : uint64 = std.get(std.intparse(args[1])); n > 1; n-- + a = next(a) + ;; + std.put("{}\n", a) +} + +const next = {n : uint64 -> uint64 + n++ + for var a = 1; (n / a) % 10 == 4; + n -= 3 * a + a *= 10 + n += a + ;; + var p = false + for var a = 1; n / a > 0; a *= 10 + if (n / a) % 10 == 1 + if p + -> next(n) + ;; + p = true + else + p = false + ;; + ;; + -> n +} -- cgit