Здравствуйте, kaa.python, Вы писали:
KP>Так же чувак и набежавшая школота приводит Rust в качестве альтернативы забывая о том, что в нем разных НЁХ-ов как бы не меньше и он просто еще не успел с ними столкнуться. Вообще гениальный пример на нём, и это, типа, проще?! Тот кто не осилил рэйнджи, осилит вот это?
KP>
KP>fn triples(n: u32) -> impl Iterator<Item = (u32, u32, u32)> {
KP> (0..n).flat_map(move |z|
KP> (1..z).flat_map(move |x|
KP> (x..z).map(move |y|
KP> (x, y, z)
KP> )
KP> )
KP> )
KP> .filter(|(x, y, z)| x*x + y*y == z*z)
KP>}
KP>
Кстати, читается элементарно для любого, кто знаком с Haskell и Rust. Это просто (один-в-один, если раскрыть list comprehension через монаду списка):
[(x, y, z) | z <- [0..n-1], x <- [1..z-1], y <- [x..z-1], x*x + y*y == z*z]