From 2f6c1ef96b38c02aa79ebb203e7977f4fd8f9497 Mon Sep 17 00:00:00 2001 From: "Dr. Matthias Ratajczak" Date: Fri, 19 Aug 2022 20:44:19 +0200 Subject: [PATCH] finish 80 --- src/euler80/Cargo.toml | 9 +++++++++ src/euler80/src/main.rs | 22 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/euler80/Cargo.toml create mode 100644 src/euler80/src/main.rs diff --git a/src/euler80/Cargo.toml b/src/euler80/Cargo.toml new file mode 100644 index 0000000..f99635a --- /dev/null +++ b/src/euler80/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "euler80" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +rug = "*" diff --git a/src/euler80/src/main.rs b/src/euler80/src/main.rs new file mode 100644 index 0000000..a298145 --- /dev/null +++ b/src/euler80/src/main.rs @@ -0,0 +1,22 @@ +extern crate rug; + +use rug::Float; + +fn main() { + let mut result = 0; + for x in 2..=100 { + let two = Float::with_val(1024, x); + let root = two.sqrt(); + let inner: u32 = root + .to_string() + .chars() + .filter(|c| *c != '.') + .take(100) + .map(|c| c.to_digit(10).unwrap()) + .sum(); + if inner > 50 { + result += inner; + } + } + println!("{result}"); +}