Proszę odrabiać pracę domową na Marsie


37

Moją pracą domową jest napisanie eseju marsjańskiego (patrz poniżej) zawierającego od 729 do 810 słów włącznie. Twoim zadaniem jest napisanie programu, który wygeneruje esej.

Historia

Na przełomie XIX i XX wieku spirytystka Catherine-Elise Müller rzekomo komunikowała się z Marsjanami. Podczas somnambulacyjnych transów pisała pisma marsjańskie. Psycholog Théodore Flourney odkryła, że ​​jej pisma marsjańskie są bardzo podobne do jej ojczystego francuskiego, aw swojej książce „From India to the Planet Mars” udokumentował marsjański alfabet Catherine.

Poniższy tekst jest luźno oparty na tym alfabecie z rozszerzonymi mitami.

opis problemu

Język marsjański ma 21 liter, pokazanych tutaj obok każdego odpowiednika łacińskiego:

wprowadź opis zdjęcia tutaj

Niestety, nie ma Unicode dla Marsa (pomimo tego, że Mars jest częścią wszechświata), więc utknęliśmy przy użyciu znaków łacińskich.

Podczas gdy w języku angielskim nasze fonemy dzielą się na dwa główne typy (spółgłosek / samogłosek), które luźno mapujemy na litery, Martian ma trzy typy liter:

  • Samogłoski: aeimnou
  • Twarde spółgłosek: bcdgkpt
  • Miękkie spółgłoski: fhlrsvz

Oprócz tego język marsjański zawiera pojedynczy znak interpunkcyjny - kropkę.

Martian słowo to zestaw 3 do 9 liter. Wszystkie słowa marsjańskie mają co najmniej jedną samogłoskę, jedną twardą spółgłoskę i jedną miękką spółgłoskę (w dowolnym układzie). Na przykład fng, cdaz, vpi, i pascalsą marsjańskie słowa.

Zdanie Marsa jest zestaw 3 do 9 Marsjańskich słowy ograniczonymi przestrzeniami a następnie przez okres.

Ustęp Marsa to zestaw 3 do 9 zdań marsjańskich oddzielonych spacjami i zakończoną nową linią.

Martian esej jest zbiorem marsjańskich punktach, które nie zawiera ciągłych powtórzeń słów.

Ciągłe powtarzanie słowa jakikolwiek SS konstrukt, gdzie S jest ciągły zestaw słów. Zauważ, że ta definicja ignoruje granice zdań i akapitów.

Przykłady

Uwaga: po każdym przykładzie znajduje się jedna nowa linia (ponieważ wszystkie akapity marsjańskie kończą się nową linią)

Nie esej marsjański

Lorem ipsum dolor sit amet. quis nostrud Exercitation ullamco laboris.

...Z wielu powodów. Ten przykład ilustruje kilka różnych zasad:

  • lorem nie jest słowem marsjańskim, ponieważ nie ma twardych spółgłosek.
  • amet nie jest słowem marsjańskim, ponieważ nie ma miękkich spółgłosek. ( mjest samogłoską marsjańską).
  • quis nie jest słowem marsjańskim, ponieważ nie ma twardych spółgłosek
  • quis nie jest słowem marsjańskim, ponieważ q nie jest literą marsjańską
  • Ćwiczenie nie jest słowem marsjańskim, ponieważ ma więcej niż 9 liter
  • ćwiczenie nie jest słowem marsjańskim, ponieważ x nie jest literą marsjańską

Esej marsjański

fng cdaz vpi. pascal złamał podstawowy. popplersy świetnie smakują.

... ponieważ jest to akapit marsjański. Akapit marsjański zawiera trzy zdania marsjańskie.

Nie esej marsjański

fng cdaz vpi. pascal złamał podstawowy. zasady darmowego pascala.

... ponieważ free pascal rules.nie jest to zdanie marsjańskie, ponieważ freeani rulessłowa marsjańskie nie są, ponieważ nie mają twardych spółgłosek.

Esej marsjański

fng cdaz vpi. pascal złamał podstawowy. popplersy świetnie smakują.
cdaz vpi fng. podstawowe przerwy pascal. popplers uderzają mocno. fng cdaz vpi.

... który zawiera dwa akapity marsjańskie. To zdanie fng cdaz vpi.pojawia się dwa razy, ale jest w porządku.

Nie esej marsjański

popplers smakują fng. cdaz vpi pascal. złamał fng cdaz vpi.
Pascal rozbił planety Omicron. podstawowe przeraża kozy. vpi piv vpi.

... ponieważ konstrukcja fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal brokejest ciągłym powtarzaniem słów.

Wyzwanie

Twoim wyzwaniem jest napisanie funkcji lub programu, który nie przyjmuje żadnych danych wejściowych, co powoduje, że moje wyniki pracy domowej są moje; to znaczy, twój program powinien wygenerować esej marsjański zawierający od 729 do 810 słów (włącznie). Pamiętaj, że wyniki twojego programu muszą być prawidłowym esejem marsjańskim, ale nie musisz generować go losowo lub inaczej za każdym razem. Liczy się wszystko, co zrobisz, aby wygenerować prawidłowy esej marsjański .

Napisałem program w C ++, aby sprawdzić eseje, których możesz używać.

To jest kod golfowy. Najkrótszy kod w bajtach wygrywa. Standardowe luki zabronione.


4
Popplers świetnie smakują ... Czy to odniesienie do
futurama

2
Ponadto, chociaż odpowiedziałem DrMcMoylex na czacie, tylko dla nagrania tutaj ... tak. (FYI, wymóg 729 i 810 słów, który wynosi od 1000 do 1100 słów w podstawie 9, jest również odniesieniem pośrednim )
H Walters

1
Zrobiłem trochę jiggery pokery, aby uzyskać jeden pokaz.
Jonathan Allan,

9
Wydaje mi się, że po raz pierwszy widzę pytanie „Zrób moją pracę domową dla mnie” na codegolf. Zazwyczaj są one w prawidłowym przepływie stosu. :-)
Ray

4
„podstawowe straszy kozy”: / Mogę potwierdzić, że to nieprawda
Downgoat

Odpowiedzi:


14

05AB1E , 25 24 22 20 bajtów

-2 bajty dzięki Emignie (znaczący reaktor, dzięki człowieku).

A7£œJðý72ô€¨'.«9ô9£»

Wypróbuj online!

A7£                     # Push first 7 letters of the alphabet.
   œJðý                 # All 5040 permutations of "abcdefg" joined by spaces.
       72ô              # Split into pieces of 72 (Sentences).
          €             # For each piece...
           ¨'.«         # Lop of the last char and concat a period.
               9ô       # Split into pieces of 9 (paragraphs).
                 9£     # Take only the first 9 paragraphs.
                   »    # Join by newlines and implicitly print.

Okazuje się, że wersja 810 słów jest krótsza niż wersja 729 słów.

Wydajność:

abcdefg abcdegf abcdfeg abcdfge abcdgef abcdgfe abcedfg abcedgf abcefdg. abcefgd abcegdf abcegfd abcfdeg abcfdge abcfedg abcfegd abcfgde abcfged. abcgdef abcgdfe abcgedf abcgefd abcgfde abcgfed abdcefg abdcegf abdcfeg. abdcfge abdcgef abdcgfe abdecfg abdecgf abdefcg abdefgc abdegcf abdegfc. abdfceg abdfcge abdfecg abdfegc abdfgce abdfgec abdgcef abdgcfe abdgecf. abdgefc abdgfce abdgfec abecdfg abecdgf abecfdg abecfgd abecgdf abecgfd. abedcfg abedcgf abedfcg abedfgc abedgcf abedgfc abefcdg abefcgd abefdcg. abefdgc abefgcd abefgdc abegcdf abegcfd abegdcf abegdfc abegfcd abegfdc. abfcdeg abfcdge abfcedg abfcegd abfcgde abfcged abfdceg abfdcge abfdecg.
abfdegc abfdgce abfdgec abfecdg abfecgd abfedcg abfedgc abfegcd abfegdc. abfgcde abfgced abfgdce abfgdec abfgecd abfgedc abgcdef abgcdfe abgcedf. abgcefd abgcfde abgcfed abgdcef abgdcfe abgdecf abgdefc abgdfce abgdfec. abgecdf abgecfd abgedcf abgedfc abgefcd abgefdc abgfcde abgfced abgfdce. abgfdec abgfecd abgfedc acbdefg acbdegf acbdfeg acbdfge acbdgef acbdgfe. acbedfg acbedgf acbefdg acbefgd acbegdf acbegfd acbfdeg acbfdge acbfedg. acbfegd acbfgde acbfged acbgdef acbgdfe acbgedf acbgefd acbgfde acbgfed. acdbefg acdbegf acdbfeg acdbfge acdbgef acdbgfe acdebfg acdebgf acdefbg. acdefgb acdegbf acdegfb acdfbeg acdfbge acdfebg acdfegb acdfgbe acdfgeb.
acdgbef acdgbfe acdgebf acdgefb acdgfbe acdgfeb acebdfg acebdgf acebfdg. acebfgd acebgdf acebgfd acedbfg acedbgf acedfbg acedfgb acedgbf acedgfb. acefbdg acefbgd acefdbg acefdgb acefgbd acefgdb acegbdf acegbfd acegdbf. acegdfb acegfbd acegfdb acfbdeg acfbdge acfbedg acfbegd acfbgde acfbged. acfdbeg acfdbge acfdebg acfdegb acfdgbe acfdgeb acfebdg acfebgd acfedbg. acfedgb acfegbd acfegdb acfgbde acfgbed acfgdbe acfgdeb acfgebd acfgedb. acgbdef acgbdfe acgbedf acgbefd acgbfde acgbfed acgdbef acgdbfe acgdebf. acgdefb acgdfbe acgdfeb acgebdf acgebfd acgedbf acgedfb acgefbd acgefdb. acgfbde acgfbed acgfdbe acgfdeb acgfebd acgfedb adbcefg adbcegf adbcfeg.
adbcfge adbcgef adbcgfe adbecfg adbecgf adbefcg adbefgc adbegcf adbegfc. adbfceg adbfcge adbfecg adbfegc adbfgce adbfgec adbgcef adbgcfe adbgecf. adbgefc adbgfce adbgfec adcbefg adcbegf adcbfeg adcbfge adcbgef adcbgfe. adcebfg adcebgf adcefbg adcefgb adcegbf adcegfb adcfbeg adcfbge adcfebg. adcfegb adcfgbe adcfgeb adcgbef adcgbfe adcgebf adcgefb adcgfbe adcgfeb. adebcfg adebcgf adebfcg adebfgc adebgcf adebgfc adecbfg adecbgf adecfbg. adecfgb adecgbf adecgfb adefbcg adefbgc adefcbg adefcgb adefgbc adefgcb. adegbcf adegbfc adegcbf adegcfb adegfbc adegfcb adfbceg adfbcge adfbecg. adfbegc adfbgce adfbgec adfcbeg adfcbge adfcebg adfcegb adfcgbe adfcgeb.
adfebcg adfebgc adfecbg adfecgb adfegbc adfegcb adfgbce adfgbec adfgcbe. adfgceb adfgebc adfgecb adgbcef adgbcfe adgbecf adgbefc adgbfce adgbfec. adgcbef adgcbfe adgcebf adgcefb adgcfbe adgcfeb adgebcf adgebfc adgecbf. adgecfb adgefbc adgefcb adgfbce adgfbec adgfcbe adgfceb adgfebc adgfecb. aebcdfg aebcdgf aebcfdg aebcfgd aebcgdf aebcgfd aebdcfg aebdcgf aebdfcg. aebdfgc aebdgcf aebdgfc aebfcdg aebfcgd aebfdcg aebfdgc aebfgcd aebfgdc. aebgcdf aebgcfd aebgdcf aebgdfc aebgfcd aebgfdc aecbdfg aecbdgf aecbfdg. aecbfgd aecbgdf aecbgfd aecdbfg aecdbgf aecdfbg aecdfgb aecdgbf aecdgfb. aecfbdg aecfbgd aecfdbg aecfdgb aecfgbd aecfgdb aecgbdf aecgbfd aecgdbf.
aecgdfb aecgfbd aecgfdb aedbcfg aedbcgf aedbfcg aedbfgc aedbgcf aedbgfc. aedcbfg aedcbgf aedcfbg aedcfgb aedcgbf aedcgfb aedfbcg aedfbgc aedfcbg. aedfcgb aedfgbc aedfgcb aedgbcf aedgbfc aedgcbf aedgcfb aedgfbc aedgfcb. aefbcdg aefbcgd aefbdcg aefbdgc aefbgcd aefbgdc aefcbdg aefcbgd aefcdbg. aefcdgb aefcgbd aefcgdb aefdbcg aefdbgc aefdcbg aefdcgb aefdgbc aefdgcb. aefgbcd aefgbdc aefgcbd aefgcdb aefgdbc aefgdcb aegbcdf aegbcfd aegbdcf. aegbdfc aegbfcd aegbfdc aegcbdf aegcbfd aegcdbf aegcdfb aegcfbd aegcfdb. aegdbcf aegdbfc aegdcbf aegdcfb aegdfbc aegdfcb aegfbcd aegfbdc aegfcbd. aegfcdb aegfdbc aegfdcb afbcdeg afbcdge afbcedg afbcegd afbcgde afbcged.
afbdceg afbdcge afbdecg afbdegc afbdgce afbdgec afbecdg afbecgd afbedcg. afbedgc afbegcd afbegdc afbgcde afbgced afbgdce afbgdec afbgecd afbgedc. afcbdeg afcbdge afcbedg afcbegd afcbgde afcbged afcdbeg afcdbge afcdebg. afcdegb afcdgbe afcdgeb afcebdg afcebgd afcedbg afcedgb afcegbd afcegdb. afcgbde afcgbed afcgdbe afcgdeb afcgebd afcgedb afdbceg afdbcge afdbecg. afdbegc afdbgce afdbgec afdcbeg afdcbge afdcebg afdcegb afdcgbe afdcgeb. afdebcg afdebgc afdecbg afdecgb afdegbc afdegcb afdgbce afdgbec afdgcbe. afdgceb afdgebc afdgecb afebcdg afebcgd afebdcg afebdgc afebgcd afebgdc. afecbdg afecbgd afecdbg afecdgb afecgbd afecgdb afedbcg afedbgc afedcbg.
afedcgb afedgbc afedgcb afegbcd afegbdc afegcbd afegcdb afegdbc afegdcb. afgbcde afgbced afgbdce afgbdec afgbecd afgbedc afgcbde afgcbed afgcdbe. afgcdeb afgcebd afgcedb afgdbce afgdbec afgdcbe afgdceb afgdebc afgdecb. afgebcd afgebdc afgecbd afgecdb afgedbc afgedcb agbcdef agbcdfe agbcedf. agbcefd agbcfde agbcfed agbdcef agbdcfe agbdecf agbdefc agbdfce agbdfec. agbecdf agbecfd agbedcf agbedfc agbefcd agbefdc agbfcde agbfced agbfdce. agbfdec agbfecd agbfedc agcbdef agcbdfe agcbedf agcbefd agcbfde agcbfed. agcdbef agcdbfe agcdebf agcdefb agcdfbe agcdfeb agcebdf agcebfd agcedbf. agcedfb agcefbd agcefdb agcfbde agcfbed agcfdbe agcfdeb agcfebd agcfedb.
agdbcef agdbcfe agdbecf agdbefc agdbfce agdbfec agdcbef agdcbfe agdcebf. agdcefb agdcfbe agdcfeb agdebcf agdebfc agdecbf agdecfb agdefbc agdefcb. agdfbce agdfbec agdfcbe agdfceb agdfebc agdfecb agebcdf agebcfd agebdcf. agebdfc agebfcd agebfdc agecbdf agecbfd agecdbf agecdfb agecfbd agecfdb. agedbcf agedbfc agedcbf agedcfb agedfbc agedfcb agefbcd agefbdc agefcbd. agefcdb agefdbc agefdcb agfbcde agfbced agfbdce agfbdec agfbecd agfbedc. agfcbde agfcbed agfcdbe agfcdeb agfcebd agfcedb agfdbce agfdbec agfdcbe. agfdceb agfdebc agfdecb agfebcd agfebdc agfecbd agfecdb agfedbc agfedcb. bacdefg bacdegf bacdfeg bacdfge bacdgef bacdgfe bacedfg bacedgf bacefdg.

1
Wygląda na to, że oboje musimy teraz znaleźć jeszcze jeden zapis :)
Jonathan Allan

"."może być '.zapisany na 1 bajt.
Emigna

1
Lub A7£œJðý72ô€¨'.«9ô9£»na 20
Emigna

Ojej. Fair dos !!
Jonathan Allan

27

Galaretka , 28 26 25 24 23 bajtów

-1 bajt dzięki carusocomputing (zastąpić słowo thimblez abcdefg)

9ØaḣŒ!s²ḣµs9K€;€”.K;⁷µ€

TryItOnline!

W jaki sposób?

Tworzy listę wszystkich 362880permutacji pierwszych siedmiu dziewięciu liter alfabetu angielskiego abcdefghi, z których wszystkie mają właściwości marsjańskich słów i wszystkie są odrębne, i formatuje je w esej, używając pierwszych 729słów.

9ØaḣŒ!s²ḣµs9K€;€”.K;⁷µ€ - Main link: no arguments
9                       - 9 as x
         µ              - monadic chain separation
 Øa                     - yield lowercase alphabet
   ḣ                    - head to x ("abcdefghi")
    Œ!                  - all permutations (362880 distinct Martian words)
       ²                - square x = 81 
      s                 - split into chunks of length 81 (the paragraphs)
        ḣ               - head to x (get the first 9 paragraphs only)
                     µ€ - monadic chain for €ach (for each chunk:)
          s9            -     split into chunks of length 9 (the sentences)
            K€          -     join with spaces for €each (between words in each sentence)
              ;€        -     concatenate €ach with
                ”.      -         '.' (add a full stop* after each sentence)
                  K     -     join with spaces (add a space between the sentences)
                   ;    -     concatenate with
                    ⁷   -         a line feed
                        - implicit print

* Kropka


2
Możesz zapisać bajty, używając pierwszych 7 znaków alfabetu abcdefg.
Magic Octopus Urn

1
Gahhh ... To był bajt, którym mogłem cię pokonać. Jestem głupi haha.
Magic Octopus Urn

Mam wrażenie, że i tak tam dotrzesz!
Jonathan Allan,

4
Tag, jesteś nim, znajdź kolejny bajt;).
Magic Octopus Urn

10

Rubin, 86 83 82 79 bajtów

(8019..8747).map{|x|$><<x.to_s(3).tr('012','abf')+(x%9>7?".\n":x%3>1?". ":" ")}

Sztuczka: wydrukuj wszystkie liczby od 102000000 do 102222222 w bazie 3


Skąd pochodzi 102M?
Mukul Kumar,

Liczby od 102000000 do 102222222 (podstawa 3) stają się 9-literowymi słowami. 8019 podstawa 10 to 102M podstawa 3
GB

8

Python 3, 121 119 bajtów

from itertools import*
i=729
while i:i-=1;print(*list(permutations('thimble'))[i],sep='',end='.'*(i%9<1)+' \n'[i%81<1])

repl.it

W jaki sposób?

Odlicza i=729i otrzymuje listę liter i-tej permutacji 'thimble'jako następnego wyraźnego słowa marsjańskiego ( list(permutations('thimble'))[i]).

Unika ''.join(...)za pomocą a, *expressionaby rozpakować listę, zmieniając domyślny separator dla printspacji na pusty ciąg znaków ( sep='').

Używa endargumentu, printaby opcjonalnie dodawać spacje, kropki i przesunięcia wiersza zgodnie z wymaganiami przy użyciu arytmetyki modułowej. Kropka kończy się po każdym dziewiątym słowie ( '.'*(i%9<1)), a przejście do wiersza następuje po każdym osiemdziesięciu pierwszym słowie, w przeciwnym razie następuje spacja, uzyskana przez indeksowanie w łańcuch dwóch znaków ( ' \n'[i%81<1]).


8

Mathematica, 113 bajtów

StringRiffle[(p=Partition)["ark"["bus","car"][[#]]&/@Differences@Array[ThueMorse,730],3]~p~3,n=".\n",". "," "]<>n

Nienazwana funkcja, która generuje ciąg wyjściowy; ten ciąg jest marsjańskim esejem, w którym każde zdanie ma trzy słowa, a każdy akapit ma trzy zdania. (Jego deterministyczny wynik jest poniżej.)

Rdzeń algorytmu wykorzystuje fajny matematyczny fakt, że różnice w sekwencji Thue – Morse tworzą nieskończoną sekwencję trzech symboli –1, 0 i 1, która nie ma ciągłych powtórzeń cyfr. Differences@Array[ThueMorse,730]generuje tę sekwencję, do długości 729.

Następnie "ark"["bus","car"][[#]]&/@stosuje się do tej sekwencji; to konwertuje każdy 1 na „bus” (pierwszy argument), każdy –1 na „car” (ostatni argument), a każdy 0 na „ark” (szef funkcji). (p=Partition)[...,3]~p~3dzieli tę sekwencję słów na listy zagnieżdżone, z których każda składa się z trzech list po trzy słowa każda. Wreszcie, StringRiffle[...,n=".\n",". "," "]łączy wszystkie słowa razem, z różnymi separatorami w zależności od poziomów listy; i <>ndołącza ostatni okres i nową linię.

Wyjście na pewno nie wygląda na powtórkę ....

ark car bus. car ark bus. ark car ark.
bus car bus. ark car bus. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car ark. bus ark car. bus car ark.
bus car bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car bus.
car ark bus. car bus ark. car ark bus.
ark car bus. car ark bus. car bus ark.
car bus car. ark bus ark. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car bus. car ark bus. car bus ark.
car ark bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car ark.
bus ark car. bus car ark. bus car bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car ark. bus ark car.
bus car ark. bus ark car. ark bus car.
bus ark car. bus car ark. bus car bus.
ark car ark. bus ark car. bus car ark.
bus car bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car bus.
car ark bus. car bus ark. car ark bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car ark. bus ark car.
bus car ark. bus car bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car bus. car ark bus. car bus ark.
car ark bus. ark car bus. car ark bus.
car bus ark. car bus car. ark bus ark.
car ark bus. car bus ark. car ark bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car bus. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. car bus ark. car bus car.
ark bus ark. car ark bus. car bus ark.
car bus car. ark bus car. bus ark car.
ark bus ark. car bus car. ark bus ark.
car ark bus. car bus ark. car ark bus.
ark car bus. car ark bus. car bus ark.
car bus car. ark bus ark. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car bus. car ark bus. car bus ark.
car ark bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car ark.
bus ark car. bus car ark. bus car bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car bus. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. car bus ark. car bus car.
ark bus ark. car ark bus. car bus ark.
car ark bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car bus.
car ark bus. car bus ark. car ark bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car ark. bus ark car.
bus car ark. bus car bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car ark. bus ark car. bus car ark.
bus ark car. ark bus car. bus ark car.
bus car ark. bus car bus. ark car ark.
bus ark car. bus car ark. bus car bus.
ark car bus. car ark bus. ark car ark.
bus car bus. ark car bus. car ark bus.
car bus ark. car ark bus. ark car bus.
car ark bus. ark car ark. bus car bus.
ark car ark. bus ark car. bus car ark.
bus car bus. ark car bus. car ark bus.
ark car ark. bus car bus. ark car ark.
bus ark car. bus car ark. bus ark car.
ark bus car. bus ark car. bus car ark.
bus car bus. ark car ark. bus ark car.
bus car ark. bus ark car. ark bus car.
bus ark car. ark bus ark. car bus car.
ark bus car. bus ark car. bus car ark.
bus ark car. ark bus car. bus ark car.
bus car ark. bus car bus. ark car ark.
bus ark car. bus car ark. bus car bus.
ark car bus. car ark bus. ark car ark.

Mathematica, 100 bajtów

StringRiffle[(p=Partition)[Permutations@Characters@"thimble"~Take~729,9]~p~9,n=".\n",". "," ",""]<>n

Bezpośredni port algorytmu galaretowego Jonathana Allena.


Widzę tam autobus autobus samochodowy
Destructible Lemon

Poczekaj na nvm tylko mój wyświetlacz
Destructible Lemon

Byłoby to krótszePrint@"fng cdaz vpi. pascal broke basic. popplers taste great."
Pavel

1
@Pavel Idealnie ważny esej, ale brakuje mi około 720 słów do mojej pracy domowej.
H Walters,

@HWalters Rozumiem, źle odczytałem problem. Ups
Pavel

4

PHP, 86 bajtów

for(;$i<729;$$s="")echo${$s=str_shuffle(abcdefg)}??$s.(++$i%3?"":".").($i%9?" ":"\n");

Generuje losowy esej zawierający 729 słów, który nie powtarza żadnych słów.
Użyj jak:

php -r 'for(;$i<729;$$s="")echo${$s=str_shuffle(abcdefg)}??$s.(++$i%3?"":".").($i%9?" ":"\n");'

Wyjaśnienie:

for(;$i<729;                                      # until we've generated 729 words
  $$s="")                                         # assign a blank string to the variable for the previous word
    echo ${$s=str_shuffle(abcdefg)}??             # generate a random word and if the variable for it has been assigned echo that variable (a blank string)
         $s.(++$i%3?"":".").($i%9?" ":"\n");      # otherwise echo the string and punctuation based on the word number (which is incremented here)

4

///, 95 bajtów

/_/abf//-/_ _a _e _i _m _n _o _u _aa.//'/- b- c- d- g- j- p- t- bb-/'
f'
h'
l'
r'
s'
v'
z'
ff'

(dodatkowa nowa linia na końcu, niewidoczna tutaj)

Wypróbuj online!

Praca pisemna:

abf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
fabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
habf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
labf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
rabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
sabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
vabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
zabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.
ffabf abfa abfe abfi abfm abfn abfo abfu abfaa. babf abfa abfe abfi abfm abfn abfo abfu abfaa. cabf abfa abfe abfi abfm abfn abfo abfu abfaa. dabf abfa abfe abfi abfm abfn abfo abfu abfaa. gabf abfa abfe abfi abfm abfn abfo abfu abfaa. jabf abfa abfe abfi abfm abfn abfo abfu abfaa. pabf abfa abfe abfi abfm abfn abfo abfu abfaa. tabf abfa abfe abfi abfm abfn abfo abfu abfaa. bbabf abfa abfe abfi abfm abfn abfo abfu abfaa.

4

JavaScript (ES6), 130 bajtów

Ten esej zawiera 774 marsjańskich słów ze słownika zawierającego 308 różnych słów, utworzonych ze wszystkich marsjańskich liter.

_=>[...Array(2322)].map((_,i)=>['aeimnou','bcdgkpt','fhlrsvz'][i%3][(z=z*71%1e9)%7]+(++i%3?'':i%9?' ':i%27?'. ':`.
`),z=1).join``

Listy są wybierane w sposób pseudolosowy, przy użyciu następującego wzoru:

(71^n mod 1000000000) mod 7

Gdzie 71jest najmniejsza liczba pierwsza [1], dla której nie występuje ciągłe powtarzanie słów w tym module.


[1] Testowałem liczby pierwsze tylko w czasie, gdy pisałem ten kod. Najmniejszy kandydat inny niż główny jest 56.


3

Python 3, 404 270 332 339 285 266 259 bajtów

Jest to próba stworzenia losowego eseju marsjańskiego, polegającego na losowym próbkowaniu alfabetu marsjańskiego i sprawdzeniu, które słowa działają.

Edit: -10 bajtów z sugestią Zachary T do użytku R=range. -9 bajtów od zmiany .intersection(w)na &set(w). -7 bajtów od zmiany A[random.randrange(21)]na random.choice(A).

import random
W=[];A="abfechidlmgrnksopvutz";R=range
while len(W)<729:W+=[''.join(random.choice(A)for j in R(9))for i in R(729)];W=[*set(w for w in W if all(set(A[z::3])&set(w)for z in R(3)))]
for j in R(9):print(" ".join(W[81*j+i]+"."*(i%9>7)for i in R(81)))

Ungolfing

import random
word_list = []
alphabet = "abfechidlmgrnksopvutz"
while len(word_list) < 729:
    # generates words
    for i in range(729):
        word = ""
        for j in range(9):
            word += alphabet[random.randrange(21)]
        word_list.append(word)
    # removes invalid words that don't have at least one letter of each letter type
    kept_words = []
    for word in word_list:
        all_letter_types = [0, 0, 0]
        for z in range(3):
            all_letter_types[z] = set(alphabet[z::3]) & set(word)
        if all(all_letter_types):
            kept_words.append(word)
    word_list = kept_words[:]
    # removes any contiguous word repetitions by removing all repeated words
    word_list = list(set(word_list))
# attaches punctuation and prints
for j in range(9):
    result = []
    for i in range(81):
        word = word_list[81*j+i]
        if i%9 == 8:
            word += "."
    print(" ".join(result))

Nie potrzebujesz narzutu funkcji, ponieważ nie ma danych wejściowych, może to być po prostu zawartość pliku (tj. Modułu). Nie musisz wybierać losowo (chociaż jeśli chcesz skorzystać z modułu, potrzebujesz import)
Jonathan Allan,

1
@JonathanAllan Wiedziałem, że coś zapomniałem. Dzięki za heads-upy. W każdym razie chciałem spróbować losowej odpowiedzi. EDYCJA: Co dziwne, dodanie importu i usunięcie poziomów wcięcia narzutu funkcji znoszą się nawzajem. Dziwne.
Sherlock9,

Czy możesz zapisać bajty, przypisując range(9)do zmiennej, a także &zamiast .intersection?
Zacharý

Lub przypisując zmienną do range, a następnie używając tej?
Zacharý
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.