Skip to content

Instantly share code, notes, and snippets.

@madbence
Created April 24, 2016 20:33
Show Gist options
  • Save madbence/0d55c68d14ae787b48bf123903344157 to your computer and use it in GitHub Desktop.
Save madbence/0d55c68d14ae787b48bf123903344157 to your computer and use it in GitHub Desktop.
// :-(
fn main() {
let n = (0..10)
.flat_map(|a0| (0..10).filter(move |&a1| a0 != a1).map(move |a1| (a0, a1)))
.flat_map(|(a0, a1)| (0..10).filter(move |&a2| a2 != a0 && a2 != a1).map(move |a2| (a0, a1, a2)))
.flat_map(|(a0, a1, a2)| (0..10).filter(move |&a3| a3 != a0 && a3 != a1 && a3 != a2).map(move |a3| (a0, a1, a2, a3)))
.flat_map(|(a0, a1, a2, a3)| (0..10).filter(move |&a4| a4 != a0 && a4 != a1 && a4 != a2 && a4 != a3).map(move |a4| (a0, a1, a2, a3, a4)))
.flat_map(|(a0, a1, a2, a3, a4)| (0..10).filter(move |&a5| a5 != a0 && a5 != a1 && a5 != a2 && a5 != a3 && a5 != a4).map(move |a5| (a0, a1, a2, a3, a4, a5)))
.flat_map(|(a0, a1, a2, a3, a4, a5)| (0..10).filter(move |&a6| a6 != a0 && a6 != a1 && a6 != a2 && a6 != a3 && a6 != a4 && a6 != a5).map(move |a6| (a0, a1, a2, a3, a4, a5, a6)))
.flat_map(|(a0, a1, a2, a3, a4, a5, a6)| (0..10).filter(move |&a7| a7 != a0 && a7 != a1 && a7 != a2 && a7 != a3 && a7 != a4 && a7 != a5 && a7 != a6).map(move |a7| (a0, a1, a2, a3, a4, a5, a6, a7)))
.flat_map(|(a0, a1, a2, a3, a4, a5, a6, a7)| (0..10).filter(move |&a8| a8 != a0 && a8 != a1 && a8 != a2 && a8 != a3 && a8 != a4 && a8 != a5 && a8 != a6 && a8 != a7).map(move |a8| (a0, a1, a2, a3, a4, a5, a6, a7, a8)))
.flat_map(|(a0, a1, a2, a3, a4, a5, a6, a7, a8)| (0..10).filter(move |&a9| a9 != a0 && a9 != a1 && a9 != a2 && a9 != a3 && a9 != a4 && a9 != a5 && a9 != a6 && a9 != a7).map(move |a9| (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9))).nth(999999);
println!("{:?}", n);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment