use std::time::{SystemTime, UNIX_EPOCH};
use rand::{Rng, SeedableRng};
use rand::rngs::StdRng;
fn generate_random_numbers(n: usize, lower: f64, upper: f64) -> Vec<f64> {
let seed = SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("Time went backwards")
.as_nanos() as u64;
let mut rng = StdRng::seed_from_u64(seed);
(0..n)
.map(|_| rng.random_range(lower..upper))
.collect()
}
fn main() {
let n = 10;
let lower = 0.0;
let upper = 3.0;
let random_numbers = generate_random_numbers(n, lower, upper);
for num in random_numbers {
print!("{:.6} ", num);
}
}
/*
run:
2.640216 1.532295 0.111424 1.906557 0.777789 1.524510 0.889321 0.778866 2.217837 1.381005
*/