Hãy làm bài tập về sao Hỏa của tôi


37

Bài tập về nhà của tôi là viết một bài luận về sao Hỏa (xem bên dưới) trong khoảng 729 đến 810 từ, bao gồm. Nhiệm vụ của bạn là viết một chương trình sẽ tạo ra bài luận.

Lịch sử

Khoảng đầu thế kỷ 20, nhà tâm linh học Catherine-Elise Müller bị cáo buộc đã liên lạc với người sao Hỏa. Trong những giai đoạn buồn bã, cô sẽ viết ra những kịch bản sao Hỏa. Nhà tâm lý học Théodore FlTHER phát hiện ra các tác phẩm sao Hỏa của cô rất giống với tiếng Pháp bản địa của cô, và trong cuốn sách "Từ Ấn Độ đến hành tinh sao hỏa", ông đã ghi lại bảng chữ cái sao Hỏa của Catherine.

Sau đây là lỏng lẻo dựa trên bảng chữ cái đó với một huyền thoại mở rộng.

Mô tả vấn đề

Ngôn ngữ sao Hỏa có 21 chữ cái, được hiển thị ở đây bên cạnh mỗi chữ Latinh:

nhập mô tả hình ảnh ở đây

Thật không may, không có Unicode cho Sao Hỏa (mặc dù Sao Hỏa là một phần của vũ trụ), vì vậy chúng tôi bị mắc kẹt khi sử dụng các ký tự Latin.

Trong khi trong tiếng Anh, âm vị của chúng ta chia thành hai loại chính (phụ âm / nguyên âm) mà chúng ta thường ánh xạ thành các chữ cái, Martian có ba loại chữ cái:

  • Nguyên âm: aeimnou
  • Các phụ âm cứng: bcdgkpt
  • Các phụ âm mềm: fhlrsvz

Ngoài ra, ngôn ngữ sao Hỏa chứa một dấu chấm câu duy nhất - dấu chấm.

Một từ sao Hỏa là một bộ gồm 3 đến 9 chữ cái. Tất cả các từ sao Hỏa đều có ít nhất một nguyên âm, một phụ âm cứng và một phụ âm mềm (trong bất kỳ sự sắp xếp nào). Ví dụ, fng, cdaz, vpi, và pascallà những từ sao Hỏa.

Một câu sao Hỏa là một bộ gồm 3 đến 9 từ sao Hỏa được phân định bởi các khoảng trắng và theo sau là một dấu chấm.

Một đoạn sao Hỏa là một bộ gồm 3 đến 9 câu sao Hỏa được phân định bởi các khoảng trắng và theo sau là một dòng mới.

Một bài luận về sao Hỏa là một tập hợp các đoạn văn sao Hỏa không chứa sự lặp lại từ tiếp giáp.

Một từ lặp lại liền kề là bất kỳ SS cấu trúc nào trong đó S là một tập hợp các từ liền kề. Lưu ý rằng định nghĩa này bỏ qua ranh giới câu và đoạn.

Ví dụ

Xin lưu ý: Có một dòng mới duy nhất theo sau mỗi ví dụ (vì tất cả các đoạn sao Hỏa kết thúc bằng một dòng mới)

Không phải tiểu luận sao Hỏa

lorem ipsum dolor ngồi amet. quis nostrud tập thể dục ullamco labis.

... Vì nhiều lý do. Ví dụ này là để minh họa một số quy tắc linh tinh:

  • lorem không phải là một từ sao Hỏa vì nó không có phụ âm cứng.
  • amet không phải là một từ sao Hỏa vì nó không có phụ âm mềm. ( mlà một nguyên âm sao Hỏa).
  • quis không phải là một từ sao Hỏa vì nó không có phụ âm cứng
  • quis không phải là một từ sao Hỏa bởi vì q không phải là một chữ cái sao Hỏa
  • tập thể dục không phải là một từ sao Hỏa vì nó có nhiều hơn 9 chữ cái
  • tập thể dục không phải là một từ sao Hỏa vì x không phải là một chữ cái sao Hỏa

Tiểu luận sao Hỏa

fng cdaz vpi. pascal đã phá vỡ cơ bản. popplers hương vị tuyệt vời.

... bởi vì đó là một đoạn sao Hỏa. Đoạn văn sao Hỏa chứa ba câu sao Hỏa.

Không phải tiểu luận sao Hỏa

fng cdaz vpi. pascal đã phá vỡ cơ bản. quy tắc pascal miễn phí.

... vì đó free pascal rules.không phải là một câu sao Hỏa, bởi vì cũng không freephải ruleslà những từ sao Hỏa, bởi vì chúng không có bất kỳ phụ âm cứng nào.

Tiểu luận sao Hỏa

fng cdaz vpi. pascal đã phá vỡ cơ bản. popplers hương vị tuyệt vời.
cdaz vpi fng. cơ bản phá vỡ pascal. popplers đấm mạnh. fng cdaz vpi.

... Trong đó có hai đoạn sao Hỏa. Câu fng cdaz vpi.xuất hiện hai lần, nhưng điều đó hoàn toàn tốt.

Không phải tiểu luận sao Hỏa

popplers hương vị fng. cdaz vpi pascal. đã phá vỡ cdng vpi.
pascal đã phá vỡ các hành tinh omicron. dê sợ cơ bản. vpi piv vpi.

... bởi vì cấu trúc fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal brokelà sự lặp lại từ liền kề.

Thử thách

Thách thức của bạn là viết một hàm hoặc chương trình chấp nhận không có đầu vào, nó tạo ra như là đầu ra bài tập về nhà của tôi; nghĩa là, chương trình của bạn sẽ tạo ra một bài luận về sao Hỏa trong khoảng từ 729 đến 810 từ (bao gồm). Hãy nhớ rằng, đầu ra của chương trình của bạn phải là một bài luận sao Hỏa hợp lệ, nhưng bạn không phải tạo ra nó ngẫu nhiên hoặc khác nhau mỗi lần. Bất cứ điều gì bạn làm để tạo ra một bài tiểu luận sao Hỏa hợp lệ .

Tôi đã viết một chương trình C ++ để kiểm tra các bài tiểu luận mà bạn được phép sử dụng.

Đây là mã golf. Mã ngắn nhất trong byte thắng. Sơ hở tiêu chuẩn không được phép.


4
Popplers có hương vị tuyệt vời ... Đó có phải là tài liệu tham khảo của Futurama : D
DJMcMayhem

2
Ngoài ra, mặc dù tôi đã trả lời DrMcMoylex trong trò chuyện, chỉ để ghi lại ở đây ... có. (FYI, yêu cầu 729 và 810 từ, là 1000 đến 1100 từ trong cơ sở 9, cũng là một tài liệu tham khảo gián tiếp )
H Walters

1
Đã làm một chút trò đùa tinh nghịch để có được một hiển thị.
Jonathan Allan

9
Tôi nghĩ rằng đây là lần đầu tiên tôi thấy câu hỏi "Làm bài tập về nhà cho tôi" trên codegolf. Thông thường đó là trên stackoverflow thích hợp. :-)
Ray

4
"Dê sợ dê cơ bản": / Tôi có thể xác nhận điều này là sai
Hạ xuống

Câu trả lời:


14

05AB1E , 25 24 22 20 byte

-2 byte nhờ Emigna (Bộ tái cấu trúc đáng kể, cảm ơn người đàn ông).

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

Hãy thử trực tuyến!

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.

Hóa ra phiên bản 810 từ ngắn hơn phiên bản 729 từ.

Đầu ra:

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
Có vẻ như cả hai chúng ta cần tìm thêm một tiết kiệm ngay bây giờ :)
Jonathan Allan

"."có thể được '.lưu 1 byte.
Emigna

1
Hoặc A7£œJðý72ô€¨'.«9ô9£»cho 20.
Emigna

Ôi. Công bằng !!
Jonathan Allan

27

Thạch , 28 26 25 24 23 byte

-1 byte nhờ carusocomputing (thay thế từ thimblebằng abcdefg)

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

Dùng thử trực tuyến!

Làm sao?

Làm cho một danh sách tất cả các 362880hoán vị của bảy chín chữ cái đầu tiên của bảng chữ cái tiếng Anh abcdefghi, tất cả đều có các thuộc tính của các từ sao Hỏa và đều khác biệt, và định dạng chúng thành một bài luận bằng cách sử dụng các 729từ đầu tiên .

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

* giai đoạn


2
Bạn có thể lưu byte bằng cách sử dụng 7 ký tự đầu tiên của bảng chữ cái abcdefg.
Bạch tuộc ma thuật Urn

1
Gahhh ... Đó là byte tôi cũng có thể đánh bại bạn. Tôi thật ngốc haha.
Bạch tuộc ma thuật Urn

Tôi có cảm giác bạn sẽ đến đó bằng mọi cách!
Jonathan Allan

4
Tag, bạn là nó, tìm một byte khác;).
Bạch tuộc ma thuật Urn

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?". ":" ")}

Thủ thuật: in tất cả các số trong khoảng từ 102000000 đến 102222222 trong cơ sở 3


102M đến từ đâu?
Mukul Kumar

Các số trong khoảng từ 102000000 đến 102222222 (cơ sở 3) trở thành các từ có 9 chữ cái. 8019 cơ sở 10 là 102M cơ sở 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])

thay thế

Làm sao?

Đếm ngược từ i=729và nhận được một danh sách các chữ cái của hoán vị thứ i 'thimble'là từ sao Hỏa khác biệt tiếp theo ( list(permutations('thimble'))[i]).

Tránh ''.join(...)bằng cách sử dụng a *expressionđể giải nén danh sách trong khi thay đổi dấu phân cách mặc định printtừ khoảng trắng sang chuỗi trống ( sep='').

Sử dụng endđối số printđể tùy ý thêm khoảng trắng, điểm dừng đầy đủ và nguồn cấp dữ liệu theo yêu cầu sử dụng số học mô-đun. Một điểm dừng hoàn toàn đi sau mỗi từ thứ chín ( '.'*(i%9<1)) và nguồn cấp dữ liệu đi sau mỗi từ tám mươi mốt, nếu không thì khoảng trắng sẽ đạt được bằng cách lập chỉ mục thành một chuỗi hai ký tự ( ' \n'[i%81<1]).


8

Toán học, 113 byte

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

Hàm không tên tạo ra một chuỗi làm đầu ra; chuỗi đó là một bài luận sao Hỏa trong đó mỗi câu có ba từ và mỗi đoạn có ba câu. (Đầu ra xác định của nó là dưới đây.)

Cốt lõi của thuật toán sử dụng một thực tế toán học thú vị rằng sự khác biệt của chuỗi Thue Gian Morse tạo thành một chuỗi vô hạn của ba ký hiệu mật1, 0 ​​và 1 không có sự lặp lại chữ số liền kề. Differences@Array[ThueMorse,730]tạo ra chuỗi đó, đến chiều dài 729.

Sau đó "ark"["bus","car"][[#]]&/@được áp dụng cho chuỗi này; điều này chuyển đổi mỗi 1 thành "xe buýt" (đối số đầu tiên), mỗi đối tượng1 thành "xe hơi" (đối số cuối cùng) và mỗi 0 thành "hòm" (đầu chức năng). (p=Partition)[...,3]~p~3chia chuỗi từ này thành các danh sách lồng nhau, mỗi danh sách gồm ba danh sách gồm ba từ. Cuối cùng, StringRiffle[...,n=".\n",". "," "]ghép tất cả các từ lại với nhau, với các dấu phân cách khác nhau tùy thuộc vào cấp độ danh sách; và <>nnối thêm giai đoạn cuối cùng và dòng mới.

Đầu ra chắc chắn không có vẻ lặp lại ....

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.

Toán học, 100 byte

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

Một cổng trực tiếp của thuật toán Jelly của Jonathan Allen.


Tôi thấy xe buýt xe buýt xe buýt ở đó
Lemon

Đợi nvm chỉ màn hình của tôi
Lemon

Nó sẽ ngắn hơn để làmPrint@"fng cdaz vpi. pascal broke basic. popplers taste great."
Pavel

1
@Pavel Bài luận hoàn toàn hợp lệ, nhưng bạn khoảng 720 từ ngại bài tập về nhà của tôi.
H Walters

@HWalters Tôi thấy, tôi đọc sai vấn đề. Rất tiếc.
Pavel

4

PHP, 86 byte

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

Tạo ra một bài luận ngẫu nhiên 729 từ lặp đi lặp lại không có từ.
Sử dụng như:

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

Giải trình:

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'

(bổ sung dòng mới ở cuối, không hiển thị ở đây)

Hãy thử trực tuyến!

Tiểu luận:

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

Bài tiểu luận này chứa 774 từ sao Hỏa, từ một từ điển gồm 308 từ riêng biệt, được làm bằng tất cả các chữ cái sao Hỏa.

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

Các chữ cái được chọn theo cách giả ngẫu nhiên, sử dụng công thức sau:

(71^n mod 1000000000) mod 7

Trường hợp nào 71là số nguyên tố nhỏ nhất [1] mà không có sự lặp lại từ tiếp giáp xuất hiện với modulo này.


[1] Tôi chỉ kiểm tra các số nguyên tố tại thời điểm tôi viết mã này. Ứng cử viên không chính nhỏ nhất là 56.


3

Python 3, 404 270 332 339 285 266 259 byte

Đây là một nỗ lực để tạo ra một bài luận sao Hỏa ngẫu nhiên, tôi lấy mẫu ngẫu nhiên bảng chữ cái sao Hỏa và kiểm tra xem từ nào hoạt động.

Chỉnh sửa: -10 byte từ đề xuất của Zachary T để sử dụng R=range. -9 byte từ thay đổi .intersection(w)thành &set(w). -7 byte từ thay đổi A[random.randrange(21)]thành 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))

Bạn không cần chi phí hoạt động của hàm vì không có đầu vào, nó chỉ có thể là nội dung của tệp (tức là mô-đun). Bạn không cần phải làm cho nó ngẫu nhiên (mặc dù nếu bạn muốn sử dụng mô-đun bạn sẽ cần import)
Jonathan Allan

1
@Jonathan ALLan Tôi biết tôi đã quên một cái gì đó. Cảm ơn cho những người đứng đầu lên. Tôi muốn thử một câu trả lời ngẫu nhiên nào. EDIT: Đủ kỳ lạ, thêm nhập và loại bỏ các mức thụt đầu dòng của chức năng hủy bỏ lẫn nhau. Lạ thật.
Sherlock9

Bạn có thể lưu byte bằng cách gán range(9)cho một biến, cũng như &thay vì .intersectionkhông?
Zacharý

Hoặc bằng cách gán một biến cho range, sau đó sử dụng nó?
Zacharý
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.