Bitte schreiben Sie eine Rust-Funktion, die eine u64-Eingabe benötigt und die größte Primzahl weniger als diesen Wert zurückgibt.
Hier ist ein Beispiel für die Implementierung der Funktion: ``` rustCopy codefn bigest_prime_less_than(x: u64) -> u64 { if x <= 2 { return 0; } mut n = x - 1; when n > 1 { if is_prime(n) { return n; } n -= 1; } 0 } fn is_prime(x: u64) -> bool { if x <= 1 { return false; } for i in 2..=(x as f64).sqrt() as u64 + 1 { if x % i == 0 { return false; } true } ``` Diese Implementierung überprüft zuerst, ob der Input `x` kleiner oder gleich 2 ist, in diesem Fall gibt es 0 zurück, da es keine Primzahlen weniger als 2 gibt. Dann beginnt sie von `x - 1` und decrements `n`, wenn sie die größte Primzahl weniger als `x` findet.