human
U64入力を取得し、その値よりも少ない最大の素数を返すさび機能を記述してください。
gpt
```
fn largest_prime(n: u64) -> u64 {
    if n < 2 {
        return 0;
    }
    for i in (2..=(n - 1)).rev() {
        let mut is_prime = true;
        for j in 2..=(i as f64).sqrt() as u64 + 1 {
            if i % j == 0 {
                is_prime = false;
                break;
            }
        }
        if is_prime {
            return i;
        }
    }
    2
}
```

この関数は、入力 `n` より小さい最大の素数を返す。これは、 `n` から始まる `n` 未満のすべての数の素数をチェックすることで行う。もっと効率的な計算方法もあるが、ここでは、素数候補の平方根より小さい数がその素数候補の因数であるかどうかをチェックする。