Tolong lakukan pekerjaan rumah Mars saya


37

Pekerjaan rumah saya adalah menulis esai Mars (lihat di bawah) antara 729 dan 810 kata, inklusif. Tugas Anda adalah menulis program yang akan menghasilkan esai.

Sejarah

Sekitar pergantian abad ke-20, spiritualis Catherine-Elise Müller diduga berkomunikasi dengan orang-orang Mars. Selama trannambulasi wajib, dia akan menulis naskah Mars. Psikolog Théodore Flourney menemukan tulisan-tulisan Marsnya sangat mirip dengan bahasa Prancis asalnya, dan dalam bukunya "Dari India ke Planet Mars", ia mendokumentasikan huruf Mars Catherine.

Berikut ini secara longgar didasarkan pada alfabet itu dengan mitos panjang.

Deskripsi Masalah

Bahasa Mars memiliki 21 huruf, ditampilkan di sini di sebelah setiap padanan Latin:

masukkan deskripsi gambar di sini

Sayangnya, tidak ada Unicode untuk Mars (meskipun Mars menjadi bagian dari alam semesta), jadi kami terjebak menggunakan karakter Latin.

Sedangkan dalam bahasa Inggris fonem kita terbagi menjadi dua jenis utama (konsonan / vokal) yang secara longgar kita petakan menjadi huruf, Mars memiliki tiga jenis huruf:

  • Vokal: aeimnou
  • Konsonan keras: bcdgkpt
  • Konsonan lunak: fhlrsvz

Selain itu, bahasa Mars berisi tanda baca tunggal - periode.

Sebuah kata Mars adalah satu set 3-9 huruf. Semua kata Mars memiliki setidaknya satu vokal, satu konsonan keras, dan satu konsonan lunak (dalam pengaturan apa pun). Sebagai contoh, fng, cdaz, vpi, dan pascaladalah kata-kata Mars.

Sebuah kalimat Mars adalah satu set 3-9 kata Mars dibatasi oleh ruang dan diikuti oleh suatu periode.

Sebuah ayat Mars adalah satu set 3-9 kalimat Mars dibatasi oleh ruang dan diikuti oleh baris baru.

Sebuah esai Mars adalah kumpulan paragraf Mars yang tidak mengandung pengulangan kata berdekatan.

Sebuah kata pengulangan contiguous adalah setiap konstruk SS di mana S adalah himpunan bersebelahan kata-kata. Perhatikan bahwa definisi ini mengabaikan batasan kalimat dan paragraf.

Contohnya

Harap dicatat: Ada satu baris baru yang mengikuti setiap contoh (karena semua paragraf Mars diakhiri dengan baris baru)

Bukan esai Mars

lorem ipsum dolor sit amet. latihan nostrud quis ullamco laboris.

...untuk banyak alasan. Contoh ini untuk menggambarkan beberapa aturan lain-lain:

  • lorem bukan kata Mars karena tidak memiliki konsonan keras.
  • amet bukan kata Mars karena tidak memiliki konsonan lunak. ( mAdalah vokal Mars).
  • quis bukan kata Mars karena tidak memiliki konsonan keras
  • quis bukan kata Mars karena q bukan huruf Mars
  • berolahraga bukan kata Mars karena memiliki lebih dari 9 huruf
  • latihan bukan kata Mars karena x bukan huruf Mars

Esai Mars

fng cdaz vpi. pascal patah dasar. rasa poppler enak.

... karena itu adalah paragraf Mars. Paragraf Mars berisi tiga kalimat Mars.

Bukan esai Mars

fng cdaz vpi. pascal patah dasar. aturan pascal gratis.

... karena free pascal rules.itu bukan hukuman Mars, karena kata Mars juga freetidak rulesada, karena mereka tidak memiliki konsonan keras.

Esai Mars

fng cdaz vpi. pascal patah dasar. rasa poppler enak.
cdaz vpi fng. istirahat dasar pascal. popplers memukul dengan keras. fng cdaz vpi.

... yang berisi dua paragraf Mars. Kalimat itu fng cdaz vpi.muncul dua kali, tapi itu tidak masalah.

Bukan esai Mars

rasa poppler fng. cdaz vpi pascal. rusak fng cdaz vpi.
pascal memecahkan planet omicron. kambing menakut-nakuti dasar. vpi piv vpi.

... karena konstruk fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal brokeadalah pengulangan kata yang berdekatan.

Tantangan

Tantangan Anda adalah menulis fungsi atau program yang tidak menerima input, yang menghasilkan sebagai hasil pekerjaan rumah saya; yaitu, program Anda harus menghasilkan esai Mars antara 729 dan 810 kata (termasuk). Ingatlah, output program Anda harus berupa esai Mars yang valid, tetapi Anda tidak harus membuatnya secara acak atau berbeda setiap kali. Apa pun yang Anda lakukan untuk menghasilkan esai Mars yang valid akan berarti.

Saya telah menulis program C ++ untuk memeriksa esai yang diizinkan untuk Anda gunakan.

Ini kode golf. Kode terpendek dalam byte menang. Celah standar tidak diijinkan.


4
Popplers rasanya enak ... Apakah itu referensi futurama : D
DJMcMayhem

2
Juga, meskipun saya menjawab DrMcMoylex dalam obrolan, hanya untuk catatan di sini ... ya. (FYI, persyaratan 729 dan 810 kata, yaitu 1000 hingga 1100 kata dalam basis 9, juga merupakan rujukan tidak langsung )
H Walters

1
Melakukan sedikit pokery jiggery untuk mendapatkan satu pertunjukan.
Jonathan Allan

9
Saya pikir ini adalah pertama kalinya saya melihat pertanyaan "Lakukan pekerjaan rumah saya untuk saya" pada codegolf. Biasanya mereka berada di stackoverflow yang tepat. :-)
Ray

4
"basic scares kambing": / Saya dapat mengkonfirmasi ini salah
Downgoat

Jawaban:


14

05AB1E , 25 24 22 20 byte

-2 byte terima kasih kepada Emigna (refactor yang signifikan, terima kasih man).

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

Cobalah 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.

Ternyata versi 810 kata lebih pendek dari versi 729 kata.

Keluaran:

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
Sepertinya kita berdua perlu menemukan satu lagi save sekarang :)
Jonathan Allan

"."bisa '.untuk 1 byte disimpan.
Emigna

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

Aduh. Adil !!
Jonathan Allan

27

Jelly , 28 26 25 24 23 byte

-1 byte berkat carusocomputing (ganti kata thimbledengan abcdefg)

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

TryItOnline!

Bagaimana?

Membuat daftar semua 362880permutasi dari tujuh sembilan huruf pertama dari alfabet Inggris abcdefghi, yang semuanya memiliki sifat kata-kata Mars dan semuanya berbeda, dan memformatnya menjadi esai menggunakan 729kata-kata pertama .

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

* periode


2
Anda dapat menyimpan byte dengan menggunakan 7 karakter alfabet pertama abcdefg.
Magic Octopus Urn

1
Gahhh ... Itu byte yang bisa kukalahkan juga. Saya bodoh haha.
Magic Gurita Guci

Saya punya perasaan Anda akan sampai di sana!
Jonathan Allan

4
Tag, ini dia, cari byte lain;).
Magic Gurita Guci

10

Ruby, 86 83 82 79 byte

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

Caranya: cetak semua angka antara 102000000 dan 102222222 di basis 3


Dari mana 102M berasal?
Mukul Kumar

Angka-angka antara 102000000 dan 102222222 (basis 3) menjadi kata-kata 9 huruf. 8019 basis 10 adalah basis 102M 3.
GB

8

Python 3, 121 119 byte

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

Bagaimana?

Menghitung mundur dari i=729dan mendapatkan daftar surat-surat permutasi ke-i 'thimble'sebagai kata Mars yang berbeda berikutnya ( list(permutations('thimble'))[i]).

Hindari ''.join(...)penggunaan a *expressionuntuk membongkar daftar sambil mengubah pemisah default printdari spasi menjadi string kosong ( sep='').

Menggunakan endargumen printuntuk menambahkan spasi, berhenti penuh, dan umpan baris sesuai kebutuhan menggunakan aritmatika modular. Perhentian penuh terjadi setelah setiap kata kesembilan ( '.'*(i%9<1)) dan umpan baris dilakukan setelah setiap kata delapan puluh satu, jika tidak spasi, dicapai dengan mengindeks ke dalam string dua karakter ( ' \n'[i%81<1]).


8

Mathematica, 113 byte

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

Fungsi tanpa nama yang menghasilkan string sebagai output; string itu adalah esai Mars di mana setiap kalimat memiliki tiga kata dan setiap paragraf memiliki tiga kalimat. (Output deterministiknya di bawah.)

Inti dari algoritma ini menggunakan fakta matematika yang keren bahwa perbedaan sekuens Thue-Morse membentuk urutan tak terbatas dari tiga simbol –1, 0, dan 1 yang tidak memiliki pengulangan digit yang berdekatan. Differences@Array[ThueMorse,730]menghasilkan urutan itu, dengan panjang 729.

Kemudian "ark"["bus","car"][[#]]&/@diterapkan pada urutan ini; ini mengonversi setiap 1 menjadi "bus" (argumen pertama), masing-masing –1 menjadi "mobil" (argumen terakhir), dan masing-masing 0 menjadi "bahtera" (kepala fungsi). (p=Partition)[...,3]~p~3membagi urutan kata ini menjadi daftar bersarang, masing-masing terdiri dari tiga daftar masing-masing tiga kata. Akhirnya, StringRiffle[...,n=".\n",". "," "]menggabungkan semua kata bersama-sama, dengan pemisah yang berbeda tergantung pada level daftar; dan <>nmenambahkan periode akhir dan baris baru.

Outputnya tidak terlihat bebas dari pengulangan ....

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 byte

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

Port langsung dari algoritma Jelly Jonathan Allen.


Saya melihat bis mobil bis di sana
Destructible Lemon

Tunggu nvm hanya layar saya
Lemon Destructible

Akan lebih singkat untuk dilakukanPrint@"fng cdaz vpi. pascal broke basic. popplers taste great."
Pavel

1
@Pavel Esai yang benar-benar valid, tetapi Anda sekitar 720 kata yang malu dengan pekerjaan rumah saya.
H Walters

@Halter saya mengerti, saya salah membaca masalahnya. Ups.
Pavel

4

PHP, 86 byte

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

Menghasilkan esai 729 kata acak yang tidak mengulangi kata-kata.
Gunakan seperti:

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

Penjelasan:

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 byte

/_/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'

(tambahan baris baru di akhir, tidak terlihat di sini)

Cobalah online!

Karangan:

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 byte

Esai ini berisi 774 kata Mars, dari kamus 308 kata yang berbeda, terbuat dari semua huruf Mars.

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

Surat diambil dengan cara pseudo-acak, menggunakan rumus berikut:

(71^n mod 1000000000) mod 7

Di mana 71prime terkecil [1] yang tidak ada pengulangan kata yang berdekatan dengan modulo ini.


[1] Saya hanya menguji bilangan prima pada saat saya menulis kode ini. Kandidat non-prime terkecil adalah 56.


3

Python 3, 404 270 332 339 285 266 259 byte

Ini adalah upaya untuk membuat esai Mars acak saya secara acak sampling abjad Mars dan memeriksa kata-kata yang berfungsi.

Sunting: -10 byte dari saran Zachary T untuk digunakan R=range. -9 byte berubah .intersection(w)menjadi &set(w). -7 byte dari berubah A[random.randrange(21)]menjadi 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)))

Tidak melakukanolf

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))

Anda tidak perlu overhead suatu fungsi karena tidak ada input, bisa saja isi file (yaitu modul). Anda tidak perlu membuatnya secara acak (walaupun jika Anda ingin menggunakan modul, Anda akan membutuhkannya import)
Jonathan Allan

1
@ Jonathan Allan aku tahu aku lupa sesuatu. Terimakasih atas peringatannya. Saya tetap ingin mencoba jawaban acak. EDIT: Anehnya, menambahkan impor dan menghapus tingkat lekukan fungsi overhead saling membatalkan. Aneh.
Sherlock9

Bisakah Anda menyimpan byte dengan menugaskan range(9)ke variabel, dan &bukan .intersection?
Zacharý

Atau dengan menetapkan variabel ke range, lalu menggunakannya?
Zacharý
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.