aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-049/xkr47/raku/ch-1.raku9
-rw-r--r--challenge-049/xkr47/rust/Cargo.toml12
-rw-r--r--challenge-049/xkr47/rust/ch-1.rs14
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-049/xkr47/raku/ch-1.raku b/challenge-049/xkr47/raku/ch-1.raku
new file mode 100755
index 0000000000..2bde510305
--- /dev/null
+++ b/challenge-049/xkr47/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#!/usr/bin/env perl6
+
+sub MAIN(Int $multiplier) {
+ (1 .. ∞)
+ .map(* * $multiplier)
+ .grep(/^<[01]>+$/)
+ .head(1)
+ .say()
+}
diff --git a/challenge-049/xkr47/rust/Cargo.toml b/challenge-049/xkr47/rust/Cargo.toml
new file mode 100644
index 0000000000..0cc7929d6a
--- /dev/null
+++ b/challenge-049/xkr47/rust/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "pwc-049"
+version = "0.1.0"
+authors = ["Jonas Berlin <xkr47@outerspace.dyndns.org>"]
+edition = "2018"
+
+[dependencies]
+regex = "1.3.4"
+
+[[bin]]
+name = "ch-1"
+path = "ch-1.rs"
diff --git a/challenge-049/xkr47/rust/ch-1.rs b/challenge-049/xkr47/rust/ch-1.rs
new file mode 100644
index 0000000000..d93fa34148
--- /dev/null
+++ b/challenge-049/xkr47/rust/ch-1.rs
@@ -0,0 +1,14 @@
+use std::env;
+use regex::Regex;
+
+fn main() {
+ let multiplier = env::args().skip(1).next().expect("Please give multiplier as argument");
+ let multiplier: u64 = multiplier.parse().expect("Bad multiplier specified as argument");
+ let ones_and_zeroes = Regex::new(r"^[01]+$").unwrap();
+ println!("{}",
+ (1_u64..)
+ .map(|num| num * multiplier)
+ .filter(|num| ones_and_zeroes.is_match(&num.to_string()))
+ .next()
+ .unwrap());
+}