Open jvanvugt opened 6 years ago
Voor alle woorden in het woordenboek de waarde uitrekenen en kijken welke matchen, dat lijkt me redelijk te doen qua complexiteit.
en de woorden moeten samen waarschijnlijk al deze letters gebruiken, dus woorden die een letter hebben buiten de set kun je skippen
met de letters kan ook, voor alle sets (max 10 lang ofzo) van letters (pakken met terugleggen) de som uitrekenen en kijken wat matched, maar dat lijkt me vrij complex 10^10 opties ipv 50.000 woorden. Waarschijnlijk net wat handig als je de lengte van de woord(anagrammen) vanaf klein aan begint. dus eerst lengte 2 dan lengte 3 etc.
de, het, en en een lijken er niet in te zitten in ieder geval
Woord 4 zou "tassen" kunnen zijn. Ben ook begonnen aan een woordenlijst approach, maar daar zit nog een bug in.
heb er eentje, maar geen lijst ;) Zie mijn notebook
Dat zijn 164313 woorden
allo 994738 hut 1999091 nu 1394922 tassen 1937474
Dat is wel wat weinig
994738 kan dan ook Lola zijn bijvoorbeeld. Misschien toch de letter approach nodig voor eigennamen.
Je d stond met het verkeerde getal in de dictionary: dan 1377231
Denk dat we er iets meer termen doorheen moeten stampen, zelfs dna zit er dus bijvoorbeeld niet in.
from itertools import product for rep in range(1,10): keywords = [''.join(i) for i in product(legal_letters, repeat = rep)] for k in keywords: legal_word(k)
explodeert een beetje. Misschien is het Engels, er lijken echter geen woorden van minder dan 6 letters in te zitten anders dan variaties op het genoemde (hi kan ook nog). Dat is toch vrij lastig met de hand lijkt me dan.
Misschien een schrijver/dichter die gek (of oud) Nederlands gebruikt?
Geen van de letters eindigt op een even nummer, dat betekend dat je voor alle woorden weet of ze even of oneven qua aantal letters zijn.
https://github.com/jvanvugt/kerstpuzzel2017/blob/master/vraag05/poging.py Scriptje geschreven om alle mogelijke lettercombinaties te zoeken, werkt op het voorbeeld. Op de echte vraag helaas niet, omdat we daar alleen de laatste 6 getallen hebben. Ff uitzoeken hoe dat opgelost kan worden.