Программирование/Примеры программ на языке программирования Rust: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 375:
}
 
</syntaxhighlight>
 
== Нахождение [[w: Наибольший_общий_делитель|наибольшего общего делителя]] двух и более чисел, [[w: Алгоритм_Евклида|алгоритмом Евклида]] ==
 
<syntaxhighlight lang="rust">
 
fn euclidean_algorithm(arr: &[i64]) -> std::option::Option<i64>
{
let mut arr : Vec<i64> = arr.to_vec();
let mut temp : i64;
while arr.len() > 1
{
temp = arr.iter().rev().skip(1).next().unwrap() % arr.iter().last().unwrap();
*arr.iter_mut().rev().skip(1).next().unwrap() = *arr.iter().last().unwrap();
*arr.iter_mut().last().unwrap() = ff;
if *arr.iter().last().unwrap() == 0
{
arr.pop();
}
}
return arr.pop();
}
 
fn main() {
let arr = vec![10, 45, 95];
 
println!("{}", euclidean_algorithm(arr).unwrap());
}
</syntaxhighlight>