# [✓] Solve a Bike Lock problem with 4 dials and 10 letters on each dial?

Posted 5 months ago
580 Views
|
2 Replies
|
2 Total Likes
|
 I have a WordLock bike lock with 4 dials and 10 letters on each dial. I saw a post (https://community.wolfram.com/groups/-/m/t/926136) that someone used this program to find the correct lock combination. I don't know how to use this program, so if someone can tell me the possible combinations that would be great!Dial 1 Letters: S P H M T W D L F B Dial 2 Letters: L E Y H N R U O A I Dial 3 Letters: E N M L R T A O S K Dial 4 Letters: D S N M P Y L K T E
2 Replies
Sort By:
Posted 5 months ago
 It is exactly the same as the one that was posted: letters = "S P H M T W D L F B L E Y H N R U O A I E N M L R T A O S K D S N M P Y L K T E "; dials = (ToLowerCase /@ StringSplit[#]) & /@ StringSplit[letters, "\n"]; tup = Tuples[dials]; strings = StringJoin /@ tup; words = Select[strings, DictionaryWordQ]; That list contains 859 words. Here's the first bit:If this was for a lock it might be true that more frequent words are chosen with a higher probability. Here are the 50 most frequent words that are possible: (Reverse@SortBy[wordsfreqs, Last])[[1 ;; 50]] Perhaps people would not use stop words. Here's a way to do that: stopwordlist = Complement[DictionaryLookup[], DeleteStopwords[DictionaryLookup[]]]; TableForm[ Partition[ Select[(Reverse@SortBy[wordsfreqs, Last]), ! MemberQ[stopwordlist, #[[1]]] &][[1 ;; 200]][[All, 1]], 10]] Cheers,Marco