Rust Implementation of Problem 24
View source code here on GitHub!
Problem Solution
- pub fn problems::p0024::p0024() -> utils::Answer
1/*
2Project Euler Problem 24
3
4This one was fairly easy for code golf, thanks to the port of Python's itertools
5
6Problem:
7
8A permutation is an ordered arrangement of objects. For example, 3124 is one
9possible permutation of the digits 1, 2, 3 and 4. If all of the permutations
10are listed numerically or alphabetically, we call it lexicographic order. The
11lexicographic permutations of 0, 1 and 2 are:
12
13012 021 102 120 201 210
14
15What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4,
165, 6, 7, 8 and 9?
17*/
18use itertools::Itertools;
19
20use crate::include::utils::Answer;
21
22pub fn p0024() -> Answer {
23 return Answer::Int(
24 (0..10)
25 .permutations(10)
26 .nth(999999)
27 .unwrap()
28 .into_iter()
29 .map(|y| y.to_string())
30 .fold("".to_owned(), |y, z| y + &z)
31 .parse::<i128>()
32 .unwrap()
33 );
34}