Dane Sabo ae0ab17291 Auto sync: 2025-08-18 16:54:48 (667 files changed)
R  "Zettelkasten/Hub Notes/NNFM Ontology.canvas" -> "NNFM Ontology.canvas"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Assembly/Assembly Canvas.canvas" -> "Programming/Assembly/Assembly Canvas.canvas"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Assembly/Untitled.md" -> Programming/Assembly/Untitled.md

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Formal Methods/LEAN/Learning Plan.md" -> "Programming/Formal Methods/LEAN/Learning Plan.md"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Formal Methods/LEAN/Tutorial World.md" -> "Programming/Formal Methods/LEAN/Tutorial World.md"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Formal Methods/TLA/TLA Canvas.canvas" -> "Programming/Formal Methods/TLA/TLA Canvas.canvas"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Formal Methods/TLA/TLA+ Learning Plan.md" -> "Programming/Formal Methods/TLA/TLA+ Learning Plan.md"

R  "Zettelkasten/Hub Notes/Permanent Notes/Programming/Formal Methods/TLA/What is TLA?.md" -> "Programming/Formal Methods/TLA/What is TLA?.md"
2025-08-18 16:54:48 -04:00

65 lines
1.7 KiB
Rust

use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
println!("Guess the number!");
let secret_number = rand::rng().random_range(1..=100);
// println!("The secret number is: {secret_number}");
let mut p_next_correct: f32;
let mut min_window: u32 = 0;
let mut max_window: u32 = 100;
loop {
println!("Please input your guess.");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess)
.expect("Failed to read line");
// Turn the guess into a u32 type, excpecting errors.
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => {
if guess == "exit" {
break;
} else {
println!("DO IT!");
continue;
}
}
};
println!("You guessed: {}", guess);
match guess.cmp(&secret_number) {
Ordering::Less => {
if guess > min_window {
min_window = guess;
}
println!("Too small!");
}
Ordering::Greater => {
if guess < max_window {
max_window = guess;
}
println!("Too large!");
}
Ordering::Equal => {
println!("You win!");
break;
}
}
println!("Max: {max_window}, Min: {min_window}");
p_next_correct = 1.0 / ((max_window - min_window - 1) as f32);
println!("Probability of next guess: {}", (p_next_correct * 100.0));
println!("\n");
}
}