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.
// 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
I’m an AWS Serverless Hero and the author of Production-Ready Serverless. I have run production workload at scale in AWS for nearly 10 years and I have been an architect or principal engineer with a variety of industries ranging from banking, e-commerce, sports streaming to mobile gaming. I currently work as an independent consultant focused on AWS and serverless.
Here is a complete list of all my posts on serverless and AWS Lambda. In the meantime, here are a few of my most popular blog posts.
- Lambda optimization tip – enable HTTP keep-alive
- You are thinking about serverless costs all wrong
- Many faced threats to Serverless security
- We can do better than percentile latencies
- I’m afraid you’re thinking about AWS Lambda cold starts all wrong
- Yubl’s road to Serverless
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- AWS Lambda – compare coldstart time with different languages, memory and code sizes
- Guys, we’re doing pagination wrong