human
U64入力を取得し、その値よりも少ない最大の素数を返すさび機能を記述してください。
gpt
与えられた値より小さい最大の素数を求めるRust関数の書き方の1つを紹介しよう：

```
fn largest_prime_less_than(x: u64) -> u64 {
    if x <= 2 {
        return 2;
    }

    let mut n = x - 1;
    while !is_prime(n) {
        n -= 1;
    }
    n
}

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
}
```

この関数は、与えられた数が素数かどうかを調べるためにヘルパー関数 is_prime を使用します。入力値が2以下の場合、この関数は2を返します。入力値が2より大きい場合、この関数はnをx - 1として開始し、素数が見つかるまでnをデクリメントします。