Yan Cui
I help clients go faster for less using serverless technologies.
Problem
It can be seen that the number, 125874, and its double, 251748, contain exactly the same digits, but in a different order.
Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits.
Solution
// check if two numbers are permutations of the same set of digits let isPermutation number1 number2 = let str1 = number1.ToString().ToCharArray() |> Array.sort let str2 = number2.ToString().ToCharArray() |> Array.sort if str1.Length <> str2.Length then false else Array.forall2 (fun x y -> x = y) str1 str2 let answer = Seq.unfold (fun state -> Some(state, state + 1)) 1 |> Seq.filter (fun n -> [2..6] |> List.map (fun x -> x * n) |> List.forall (fun xn -> isPermutation xn n)) |> Seq.head
Whenever you’re ready, here are 3 ways I can help you:
- Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
- I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
- Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.