use std::io;

fn factorial(n: u32) -> u32 {
    let mut result = 1;
    for i in 1..=n {
        result *= i;
    }
    result
}

fn main() {
    println!("Enter a non-negative integer:");
    let mut input = String::new();
    io::stdin()
        .read_line(&mut input)
        .expect("Failed to read line");
    let n: u32 = match input.trim().parse() {
        Ok(num) => num,
        Err(_) => {
            println!("Invalid input, please enter a non-negative integer.");
            return;
        }
    };
    let result = factorial(n);
    println!("{}! = {}", n, result);
}

В этом примере мы используем стандартную библиотеку Rust для ввода и вывода данных из консоли с помощью std::io. Мы также используем цикл for для вычисления факториала и возвращаем результат. В main мы запрашиваем у пользователя ввод неотрицательного целого числа, затем вызываем функцию factorial и выводим результат на экран.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence