From 6c6a58915ff712322a77d8722c46b627f14dc9ef Mon Sep 17 00:00:00 2001 From: "Dr. Matthias Ratajczak" Date: Fri, 19 Aug 2022 19:48:20 +0200 Subject: [PATCH] finish 36 --- src/euler36/Cargo.toml | 8 ++++++++ src/euler36/src/main.rs | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 src/euler36/Cargo.toml create mode 100644 src/euler36/src/main.rs diff --git a/src/euler36/Cargo.toml b/src/euler36/Cargo.toml new file mode 100644 index 0000000..bb3a946 --- /dev/null +++ b/src/euler36/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "euler36" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/src/euler36/src/main.rs b/src/euler36/src/main.rs new file mode 100644 index 0000000..9c8c4a5 --- /dev/null +++ b/src/euler36/src/main.rs @@ -0,0 +1,17 @@ +fn main() { + let mut result = 0; + for i in 1..1_000_000 { + if is_palindrome(i.to_string().as_str()) && is_palindrome(&dec_to_bin(i)) { + result += i; + } + } + println!("{result}"); +} + +fn is_palindrome(s: &str) -> bool { + s.chars().zip(s.chars().rev()).all(|(a, b)| a == b) +} + +fn dec_to_bin(x: u32) -> String { + format!("{:b}", x) +}