Oto jeden dla wszystkich, którzy tam są! Napisz program lub funkcję, która pobiera listę słów i tworzy listę wszystkich możliwych rozkładów konkatenatywnych dla każdego słowa. Na przykład:
(Uwaga: jest to tylko niewielkie próbkowanie w celach ilustracyjnych. Rzeczywista wydajność jest znacznie większa.)
afterglow = after + glow
afterglow = aft + erg + low
alienation = a + lie + nation
alienation = a + lien + at + i + on
alienation = a + lien + at + ion
alienation = alien + at + i + on
alienation = alien + at + ion
archer = arc + her
assassinate = ass + as + sin + ate
assassinate = ass + ass + in + ate
assassinate = assassin + ate
backpedalled = back + pedal + led
backpedalled = back + pedalled
backpedalled = backpedal + led
goatskin = go + at + skin
goatskin = goat + skin
goatskin = goats + kin
hospitable = ho + spit + able
temporally = tempo + rally
windowed = win + do + wed
windowed = wind + owed
weatherproof = we + at + her + pro + of
yeasty = ye + a + sty
Ok, masz pomysł. :-)
Zasady
- Użyj dowolnego wybranego języka programowania. Wygrywa najkrótszy kod według liczby znaków dla każdego języka . Oznacza to, że jest jeden zwycięzca na każdy używany język. Ogólny zwycięzca będzie po prostu najkrótszym kodem ze wszystkich przesłanych.
- Lista wejściowa może być plikiem tekstowym, standardowym lub dowolną strukturą listy zapewnianą przez Twój język (lista, tablica, słownik, zestaw itp.). Słowami mogą być angielski lub dowolny inny język naturalny. (Jeśli lista zawiera angielskie słowa, zignoruj lub odfiltruj elementy jednuliterowe z wyjątkiem „a” i „i”. Podobnie, w przypadku innych języków, zignoruj elementy bezsensowne, jeśli są one pojawiają się w pliku).
- Lista wyjściowa może być plikiem tekstowym, standardowym plikiem wyjściowym lub dowolną strukturą listy używaną przez język.
- Możesz użyć dowolnego słownika wejściowego, który ci się podoba, ale prawdopodobnie będziesz chciał użyć takiego, który zawiera sensowne słowa, a nie takiego, który zapewnia zbyt wiele niejasnych, tajemnych lub obnubilowanych słów. Tego pliku użyłem: Lista kaczan kukurydzy zawierająca ponad 58000 angielskich słów
pytania
To wyzwanie polega przede wszystkim na napisaniu kodu do wykonania zadania, ale fajnie jest też przeczesywać wyniki ...
- Jakie słowa podrzędne występują najczęściej?
- Jakie słowo można rozłożyć na największą liczbę słów podrzędnych?
- Jakie słowo można rozłożyć na różne sposoby?
- Jakie słowa składają się z największych słów podrzędnych?
- Jakie rozkłady były najbardziej zabawne?
alienation
kiedy to wycinałem i wklejałem. Naprawiono teraz. Jeśli chodzi o pozostałe, powyższa lista to tylko niewielka próbka. Mój program testowy wygenerował dziesiątki tysięcy odpowiedzi po otrzymaniu listy Kaczan kukurydzy.