Lütfen Marslı ödevimi yap


37

Ödevim , dahil olmak üzere 729 ile 810 arasında bir Marslı makale (aşağıya bakınız) yazmaktır . Görevin kompozisyonu üretecek bir program yazmak.

Tarihçe

20. yüzyılın başlarında, maneviyatçi Catherine-Elise Müller'in Marslılarla iletişim kurduğu iddia ediliyor. Somambulatory trances sırasında, Marslı senaryolar yazacaktı. Psikolog Théodore Flourney, Mars'ın yazılarının anadili Fransızca'ya çok benzer olduğunu keşfetti ve "Hindistan'dan Gezegenin Marsına" adlı kitabında Catherine'in Mars alfabesini belgelemiştir.

Aşağıdaki gevşek bir şekilde bu genişletilmiş bir mythos alfabesine dayanmaktadır.

Sorun Açıklaması

Mars dili, burada her bir Latin denkinin yanında gösterilen 21 harften oluşur:

görüntü tanımını buraya girin

Maalesef, Mars için Unicode yoktur (Mars'ın evrenin bir parçası olmasına rağmen), bu yüzden Latin karakterleri kullanıyoruz.

İngilizcede, ses tonlarımız harflerle gevşekçe eşleştirdiğimiz iki ana türe (ünsüz / ünlü) ayrılırken, Martian'ın üç harf türü vardır:

  • Ünlüler: aeimnou
  • Sert ünsüzler: bcdgkpt
  • Yumuşak ünsüzler: fhlrsvz

Buna ek olarak, Mars dili bir tek noktalama işareti içerir - dönem.

Bir Marslı kelimesi 3 ila 9 harf kümesidir. Tüm Marslı kelimeler en az bir ünlü, bir sert ünsüz ve bir yumuşak ünsüze sahiptir (herhangi bir düzenlemede). Örneğin, fng, cdaz, vpi, ve pascalMars kelimelerdir.

Bir Marslı cümle , boşluklarla ayrılmış ve bir süre takip eden 3 ila 9 Martian sözcükten oluşan bir cümledir .

Bir Mars paragrafı , boşluklarla ayrılmış ve ardından yeni bir satır olan 3 ila 9 Martian cümle kümesidir.

Bir Marslı deneyi , bitişik kelime tekrarı içermeyen bir Marslı paragraf topluluğudur.

Bir bitişik kelime tekrarı S kelime bitişik bir dizi herhangi bir yapı SS'tir. Bu tanımın cümle ve paragraf sınırlarını göz ardı ettiğini unutmayın.

Örnekler

Lütfen aklınızda bulundurun: Her örneği takip eden tek bir son satır var (tüm Marslı paragrafları yeni satırda bitiyor)

Mars denemesi değil

lorem ipsum dolor amet otur. quis nostrud exercitation ullamco laboris.

...bir çok sebepten ötürü. Bu örnek, bazı muhtelif kuralları göstermektir:

  • lorem Marslı bir kelime değildir çünkü zor ünsüzleri yoktur.
  • amet Mars kelimesi değildir çünkü yumuşak ünsüzleri yoktur. ( mbir Marslı ünlüdür).
  • Quis Mars kelimesi değildir, çünkü güçlü ünsüzleri yoktur.
  • quis Mars kelimesi değildir, çünkü q Mars mektubu değildir.
  • exercitation Mars kelimesi değildir çünkü 9'dan fazla harfe sahiptir.
  • exercitation Mars kelimesi değildir, çünkü x Mars mektubu değildir.

Mars denemesi

fng cdaz vpi. pascal temel kırdı. Popplers'ın tadı harika.

... çünkü bu bir Mars paragrafı. Mars paragrafı üç Marslı cümle içerir.

Mars denemesi değil

fng cdaz vpi. pascal temel kırdı. ücretsiz pascal kuralları.

... çünkü free pascal rules.bir Marslı cümle değildir, çünkü ne Marslı ne freede rulessözlüdür, çünkü güçlü ünsüzleri yoktur.

Mars denemesi

fng cdaz vpi. pascal temel kırdı. Popplers'ın tadı harika.
cdaz vpi fng. temel sonlar pascal. Popplers sert yumruk atıyor. fng cdaz vpi.

... iki tane Mars paragrafı içeriyor. Cümle fng cdaz vpi.iki kez görünür, ancak bu tamamen iyi.

Mars denemesi değil

popplers tadı fng. cdaz vpi pascal. fng cdaz vpi kırdı.
pascal, omicron gezegenlerini kırdı. temel keçiler korkutuyor. vpi piv vpi.

... çünkü yapı fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal brokebitişik bir kelime tekrarıdır.

Meydan okuma

Buradaki zorluk, girdi kabul etmeyen, çıktı olarak ödevimi üreten bir fonksiyon veya program yazmak; yani, programınız 729 ila 810 kelime (dahil) arasında bir Marslı makale hazırlamalıdır . Unutmayın, programınızın çıktısı geçerli bir Marslı deneyi olmalı, ancak her seferinde rastgele veya farklı bir şekilde oluşturmak zorunda değilsiniz. Geçerli bir Marslı deneyi oluşturmak için yaptığınız her şey önemlidir.

Ben ettik denemeler kontrol etmek için bir C ++ programı yazılı Eğer kullanım iznimiz.

Bu kod golfü. Bayt cinsinden en kısa kod kazanır. Standart boşluklar izin verilmedi.


4
Popplers'ın tadı harika ... Bu futurama referansı : D
DJMcMayhem

2
Ayrıca, DrMcMoylex'in sohbete cevap vermesine rağmen, sadece buradaki kayıt için ... evet. (FYI, temel 9'da 1000 ila 1100 kelime olan 729 ve 810 kelime gereksinimi de dolaylı bir referanstır )
H Walters

1
Biri göstermek için biraz jiggery pokery yaptım.
Jonathan Allan,

9
Sanırım ilk defa codegolf "Benim için ödevimi yap" sorusunu görüyorum. Genellikle bunlar uygun akış üzerindedir. :-)
Ray

4
"temel korku keçileri": / Bunun yanlış olduğunu onaylayabilirim
Downgoat

Yanıtlar:


14

05AB1E , 25 24 22 20 bayt

Emigna sayesinde -2 byte (Önemli refactor, teşekkürler adam).

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

Çevrimiçi deneyin!

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.

810 kelime versiyonunun 729 kelime versiyonundan daha kısa olduğu ortaya çıktı.

Çıktı:

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
Görünüşe göre ikimiz de bir tasarruf daha bulmalıyız :)
Jonathan Allan

"."'.Kaydedilen 1 bayt için olabilir .
Emigna

1
Veya A7£œJðý72ô€¨'.«9ô9£»20 için
Emigna

Ahh. Adil dos !!
Jonathan Allan

27

Jelly , 28 26 25 24 23 bayt

Carusocomputing sayesinde -1 bayt (sözcüğü thimbleile değiştir abcdefg)

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

TryItOnline!

Nasıl?

İngiliz alfabesinin 362880ilk yedi dokuz harfinin abcdefghihepsinin Mars kelimelerinin özelliklerine sahip ve hepsi farklı olan tüm permütasyonlarının bir listesini yapar ve ilk 729kelimeleri kullanarak bir kompozisyona biçimlendirir .

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

* dönem


2
Alfabenin ilk 7 karakterini kullanarak baytları kaydedebilirsiniz abcdefg.
Magic Octopus Urn

1
Gahhh ... Ben de seni yenebileceğim bayt buydu. Ben aptal haha.
Magic Octopus Urn

Yine de oraya gideceğinizi hissediyorum!
Jonathan Allan,

4
Tag, sen, başka bir bayt bul;).
Magic Octopus Urn

10

Ruby, 86 83 82 79 bayt

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

Püf noktası: 102000000 ile 102222222 arasındaki tüm sayıları temel 3'te yazdırın


102M nereden geliyor?
Mukul Kumar,

102000000 ve 102222222 (3 numaralı taban) arasındaki sayılar 9 harfli kelimelerdir. 8019 üs 10, 102M üs 3'tür.
GB

8

Python 3, 121 119 bayt

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

Nasıl?

Geri sayım yapar ve sonraki ayrı Marslı kelimesi ( ) i=729olan itütasyon harflerinin bir listesini alır .'thimble'list(permutations('thimble'))[i]

Varsayılan ayırıcıyı bir boşluktan boş dizeye ( ) değiştirirken listeyi açmak için ''.join(...)a kullanmaktan kaçınır .*expressionprintsep=''

İsteğe bağlı olarak modüler aritmetik kullanarak boşluk, tam durak ve satır beslemesi eklemek için kullanılan endargümanı kullanır print. Her dokuzuncu kelimenin ( '.'*(i%9<1)) ardından tam bir duraklama olur ve her seksen ilk kelimenin ardından bir satır besleme gider, aksi takdirde bir boşluk, iki karakterli bir dizgeye ( ' \n'[i%81<1]) endekslenir .


8

Mathematica, 113 bayt

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

Bir dizgiyi çıktı olarak üreten isimsiz fonksiyon; Bu dize, her cümlenin üç cümle ve her bir paragrafın üç cümlenin bulunduğu bir Marsî yazıdır. (Deterministik çıktısı aşağıdadır.)

Algoritmanın çekirdeği , Thue-Morse dizisinin farklılıklarının bitişik basamak tekrarları olmayan üç sembolün (-1, 0 ve 1) sonsuz bir dizilimini oluşturması gibi serin matematiksel gerçeği kullanır . Differences@Array[ThueMorse,730]uzunluğu 729'a kadar olan bu diziyi oluşturur.

Sonra "ark"["bus","car"][[#]]&/@bu diziye uygulanır; bu, her 1'i "veri yolu" (ilk argüman), her biri –1 ila "araba" (son argüman) ve her 0'ı "ark" (işlev kafası) 'ya dönüştürür. (p=Partition)[...,3]~p~3her biri üç kelimeden oluşan üç listeden oluşan iç içe listelerde bu sözcük sırasını böler. Son olarak, StringRiffle[...,n=".\n",". "," "]tüm kelimeleri liste seviyelerine bağlı olarak farklı ayırıcılar ile bir araya getirir; ve <>nson dönemi ve yeni satırı ekler.

Çıktı kesinlikle tekrarlamadan bağımsız görünmüyor ...

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 bayt

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

Jonathan Allen'ın Jelly algoritmasının direkt bir limanı.


Orada araba otobüsü araba otobüsü görüyorum
Yok

Sadece benim ekran nvm bekle
yıkılabilir Limon

Sadece yapmak daha kısa olurduPrint@"fng cdaz vpi. pascal broke basic. popplers taste great."
Pavel

1
@Pavel Mükemmel derecede geçerli bir yazı, ancak ödevimden yaklaşık 720 kelime utangaçsınız.
H Walters

@Halterler görüyorum, sorunu yanlış anladım. Hata.
Pavel,

4

PHP, 86 bayt

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

Hiçbir kelimeyi tekrar etmeyen randomize 729 kelimelik bir kompozisyon oluşturur.
Gibi kullanın:

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

Açıklama:

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 bayt

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

(Sonunda ek yeni satır, burada görünmez)

Çevrimiçi deneyin!

kompozisyon:

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 bayt

Bu yazı, tüm Marslı harflerden oluşan, 308 ayrı kelimelik bir sözlükten 774 Martian kelimesini içermektedir.

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

Harfler, aşağıdaki formülü kullanarak sözde rasgele biçimde toplanır:

(71^n mod 1000000000) mod 7

Bu modülo ile bitişik kelime tekrarı görünmeyen 71en küçük asal [1] nerede .


[1] Sadece bu kodu yazdığımda primeları test ettim. Asal olmayan en küçük aday 56.


3

Python 3, 404 270 332 339 285 266 259 bayt

Bu, Mars alfabesini rasgele örneklemem ve sonra hangi kelimelerin işe yaradığını kontrol etmem için rastgele bir Mars kompozisyonu yaratma girişimidir.

Düzenleme: Zachary T'nin kullanması önerisinden -10 bayt R=range. -9 değiştirmesini bayt .intersection(w)için &set(w). -7 değiştirmesini bayt A[random.randrange(21)]için 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))

Bir işlevin üst kısmına ihtiyaç duymazsınız, çünkü sadece bir dosyanın içeriği (yani bir modül) olabilir. Rasgele hale getirmenize gerek yok (her ne kadar modülü kullanmak istersen, ihtiyacın olacak import)
Jonathan Allan

1
@ JonathanAllan Bir şey unuttuğumu biliyordum. Başınız için teşekkürler. Yine de rastgele bir cevap denemek istedim. DÜZENLEME: Tuhaf bir şekilde, ithalat ekleyerek ve ek yükü fonksiyonun girinti seviyelerini kaldırarak birbirini iptal eder. Garip.
Sherlock9

range(9)Değişkene atamak &yerine bunun yerine bayt kaydedebilir misiniz .intersection?
Zacharý

Veya bir değişken atayarak range, sonra bunu kullanarak?
Zacharı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.