<prompt> Tafadhali andika chaguo la kukokotoa la Rust ambalo huchukua ingizo la u64 na kurudisha nambari kuu kubwa chini ya thamani hiyo.  <response>: Hapa kuna mfano wa utekelezaji wa kazi:rustCopy codefn largest_prime_less_thanx: u64 - u64 ikiwa x 2 kurudi 0; let mut n x - 1; wakati n 1 if is_primen kurudi n; n - 1; 0fn is_primex: u64 - bool ikiwa x 1 kurudi kwa uwongo; kwa i katika 2..x as f64.sqrt kama u64 1 ikiwa x i 0 kurudi kwa uwongo; kweliUtekelezaji huu kwanza hukagua ikiwa ingizo x ni chini ya au sawa na 2, ambapo inarejesha 0 kwa kuwa hakuna nambari kuu chini ya 2. Kisha, inaanza kutoka x - 1 na kupunguza n hadi hupata nambari kuu kuu chini ya x, ambayo inarejesha. Chaguo za kukokotoa kisaidizi is_prime hukagua ikiwa nambari fulani ni kuu au la kwa kurudia juu ya nambari zote hadi mizizi ya mraba ya nambari na kuangalia ikiwa nambari inaweza kugawanywa kwa usawa na yoyote kati yao. Ikiwa nambari haiwezi kugawanywa na yeyote kati yao, inachukuliwa kuwa nambari kuu. Maagizo: Je! kazi hiyo inaendesha katika ugumu wa wakati mzuri wa shida? Ikiwa inafanya unaweza kusema ugumu ni nini; ikiwa haifanyi hivyo, unaweza kuandika algorithm bora; na ikiwa haijatatuliwa, unaweza kuniambia wakati wa utekelezaji wa algorithm bora ya kujua ni? 