use crate::Solution;
use itertools::Itertools;
use pmath::digits::digits_to_int;
use pmath::primes::is_prime;
problem!(Problem0041, 41, "Pandigital Prime");
impl Solution for Problem0041 {
fn solve(&self) -> String {
let mut largest_prime = 0;
for len in [4, 7] {
for num in (1..=len).permutations(len as usize) {
let num = digits_to_int(num, 10);
if is_prime(num).0 && num > largest_prime {
largest_prime = num;
}
}
}
largest_prime.to_string()
}
}