diff --git a/src/euler16/Cargo.toml b/src/euler16/Cargo.toml new file mode 100644 index 0000000..f944c33 --- /dev/null +++ b/src/euler16/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "euler16" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +rust-gmp = "*" diff --git a/src/euler16/src/main.rs b/src/euler16/src/main.rs new file mode 100644 index 0000000..4026740 --- /dev/null +++ b/src/euler16/src/main.rs @@ -0,0 +1,12 @@ +use gmp::mpz::Mpz; + +fn main() { + let x = Mpz::from(2); + let y = x.pow(1000); + let result: u128 = y + .to_string() + .chars() + .map(|c| c.to_digit(10).unwrap() as u128) + .sum(); + println!("{result}"); +}