From 78efe71bc092debf1ca6921f09242d27492bd808 Mon Sep 17 00:00:00 2001 From: daviddoji Date: Sun, 24 May 2026 10:49:23 +0200 Subject: [PATCH] Mastermind en Rust --- src/Rust/005.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/Rust/005.rs diff --git a/src/Rust/005.rs b/src/Rust/005.rs new file mode 100644 index 0000000..3b3ba2a --- /dev/null +++ b/src/Rust/005.rs @@ -0,0 +1,34 @@ +fn mastermind(lst_1: &[i32], lst_2: &[i32]) -> (i32, i32) { + let mut index_match: i32 = 0; + let mut match_value: i32 = 0; + + for idx in 0..lst_1.len() { + if lst_1[idx] == lst_2[idx] { + index_match += 1; + continue; + } + if lst_2.contains(&lst_1[idx]) { + match_value += 1; + } + } + + (index_match, match_value) +} + +fn main() { + let check_1 = vec![2, 6, 0, 7]; + let check_2 = vec![1, 4, 0, 6]; + println!("{:?}", mastermind(&check_1, &check_2)); // (1, 1) + + let check_1 = vec![2, 6, 0, 7]; + let check_2 = vec![3, 5, 9, 1]; + println!("{:?}", mastermind(&check_1, &check_2)); // (0, 0) + + let check_1 = vec![2, 6, 0, 7]; + let check_2 = vec![1, 6, 0, 4]; + println!("{:?}", mastermind(&check_1, &check_2)); // (2, 0) + + let check_1 = vec![2, 6, 0, 7]; + let check_2 = vec![2, 6, 0, 7]; + println!("{:?}", mastermind(&check_1, &check_2)); // (4, 0) +}