Mastermind en Rust

This commit is contained in:
2026-05-24 10:49:23 +02:00
parent d72b651818
commit 78efe71bc0

34
src/Rust/005.rs Normal file
View File

@@ -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)
}