From b4f296884670351ad7ede5997263858fa6285c96 Mon Sep 17 00:00:00 2001 From: Philippe Zwietering Date: Wed, 28 Jun 2023 12:58:09 +0200 Subject: [PATCH] Finished PE 097, easy introduction to mod --- projecteuler/097/Cargo.toml | 8 ++++++++ projecteuler/097/src/main.rs | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 projecteuler/097/Cargo.toml create mode 100644 projecteuler/097/src/main.rs diff --git a/projecteuler/097/Cargo.toml b/projecteuler/097/Cargo.toml new file mode 100644 index 0000000..fca4e93 --- /dev/null +++ b/projecteuler/097/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "main" +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/projecteuler/097/src/main.rs b/projecteuler/097/src/main.rs new file mode 100644 index 0000000..858d10e --- /dev/null +++ b/projecteuler/097/src/main.rs @@ -0,0 +1,22 @@ +use std::time::Instant; + +fn main() { + println!("Hello, this is Patrick!"); + let now = Instant::now(); + + const POWER: u64 = 7830457; + const PRODUCT: u64 = 28433; + const MOD: u64 = 10000000000; + + let mut n = 1; + + for _ in 0..POWER { + n = (2 * n) % MOD; + } + + n = (PRODUCT * n + 1) % MOD; + + println!("{}", n); + + println!("Time passed: {:?}", Instant::now() - now); +}