aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-02-26 12:22:44 +0000
committerGitHub <noreply@github.com>2020-02-26 12:22:44 +0000
commitb966f1571ad9596dc4d5d93c3ca7d42ea592f043 (patch)
tree83c509d65aee4e7f6185684a50b3e1806201b36a
parent246cea7e68f9909e5584d9ad1e21dff89191c6cb (diff)
parentbc42f5f33b6146b44c2dfd9bff7c122ff6615d3b (diff)
downloadperlweeklychallenge-club-b966f1571ad9596dc4d5d93c3ca7d42ea592f043.tar.gz
perlweeklychallenge-club-b966f1571ad9596dc4d5d93c3ca7d42ea592f043.tar.bz2
perlweeklychallenge-club-b966f1571ad9596dc4d5d93c3ca7d42ea592f043.zip
Merge pull request #1312 from xkr47/pwc049
pwc049 / task 1
-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());
+}