Tên của quái vật Frankenstein


15

Giới thiệu:

Vì sắp đến Halloween, tôi chỉ nghĩ về một số thử thách ngẫu nhiên theo chủ đề Halloween. Cuối cùng, tôi đã đọc qua trang wikipedia của Frankenstein và tình cờ thấy đoạn văn sau:

Sinh vật

Một phần trong sự từ chối của Frankenstein đối với sáng tạo của ông là việc ông không đặt tên cho nó, điều này gây ra sự thiếu bản sắc. Thay vào đó, nó được gọi bằng các từ như "khốn khổ", "quái vật", "sinh vật", "quỷ", "quỷ", "quái vật" và "nó". Khi Frankenstein trò chuyện với sinh vật trong Chương 10, anh ta gọi nó là "côn trùng ghê tởm", "quái vật ghê tởm", "quái vật", "quỷ dữ khốn khổ" và "quỷ ghê tởm".

nguồn

Thử thách:

Cho hai số nguyên (năm và chương), xuất ra một chuỗi dựa trên các quy tắc sau:

  1. Nếu năm dưới 1818: xuất ra một chuỗi rỗng
  2. Nếu năm chính xác là 1818 và chương dưới 10: xuất ra một chuỗi ngẫu nhiên từ danh sách["wretch", "monster", "creature", "demon", "devil", "fiend", "it"]
  3. Nếu năm chính xác là 1818 và chương là 10 hoặc cao hơn: xuất ra một chuỗi ngẫu nhiên từ danh sách["vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"]
  4. Là năm trên 1818 (và do đó cuốn sách đã được xuất bản), trở lại "Frankenstein's Monster".

Quy tắc thử thách:

  • Bạn có thể chọn xuất ra bằng chữ thường, chữ hoa hoặc kết hợp.
  • Năm sẽ luôn trong phạm vi 1500-2017
  • Chương này sẽ luôn nằm trong phạm vi 1-24(nếu tôi hiểu chính xác, cuốn sách có 24 chương)
  • Thay vì xuất ra một chuỗi rỗng cho tùy chọn 1, bạn cũng được phép ra null, undefined, false, 0, hoặc bất kỳ giá trị khác của sự lựa chọn của bạn không nằm trong ba lựa chọn khác (xin ghi rõ những gì bạn đã sử dụng trong câu trả lời của bạn).
  • Đầu ra có thể không chứa bất kỳ khoảng trắng / tab hàng đầu hoặc dấu, cũng như bất kỳ dòng mới hàng đầu nào. Nó có thể chứa một dòng mới tùy chọn.

Quy tắc chung:

  • Đây là , vì vậy câu trả lời ngắn nhất bằng byte thắng.
    Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'.
  • Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
  • Các lỗ hổng mặc định bị cấm (đặc biệt là 'Số ngẫu nhiên giả' ).
  • Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
  • Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.

Các trường hợp thử nghiệm:

year,chapter possible outputs:

1700,1       ""; null; undefined; false; 0; etc.
1700,12      ""; null; undefined; false; 0; etc.
1817,10      ""; null; undefined; false; 0; etc.
1818,1       "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,9       "wretch"; "monster"; "creature"; "demon"; "devil"; "fiend"; "it"
1818,10      "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,11      "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1818,18      "vile insect"; "abhorred monster"; "fiend"; "wretched devil"; "abhorred devil"
1819,1       "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
1819,18      "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"
2017,24      "Frankenstein's Monster"; "frankenstein's monster"; "FRANKENSTEIN'S MONSTER"

Câu trả lời:


3

Perl 5, 156 153 151 byte

-3 byte nhờ vào DomHastings.

Chạy với -p

$_=($d=devil,$m=monster,$w=wretch,<"{creature,demon,it,fiend,vile insect,{abhorr,$w}ed {$d,$d,$m},Frankenstein's $m}">)[/818/?6*/,../+rand 7:$_/606-5]

Phân phối đầu ra này không đồng nhất, được chấp nhận theo mặc định . Cụ thể, nếu ngày là 1818 và chương là ≥10, thì tên quỷ ghê tởm quỷ và quái vật ghê tởm khác có trọng số gấp đôi. Điều này cho phép tôi sử dụngrand 7 cho cả hai trường hợp, mặc dù các danh sách có kích cỡ khác nhau.

Đầu ra trong nhiều năm trước năm 1818 là quái vật khốn khổ khốn khổ. Mặc dù có một số điểm tương đồng, chuỗi này không phải là một phần của bất kỳ ba tùy chọn nào khác, làm cho nó ổn khi sử dụng.

Điều này thất bại trong nhiều năm nằm ngoài phạm vi 1212 Wap2424, nhưng may mắn là năm đó được đảm bảo bởi các quy tắc nằm trong phạm vi 1500 Siêu2017.

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


Tôi không biết mở rộng niềng răng là một điều trong Perl ... Sử dụng phương pháp đó, có một giải pháp tuyệt vời cho thách thức đã biết ! Hãy thử trực tuyến!
Dom Hastings

@DomHastings Ôi tôi không biết bạn có thể trích dẫn những khoảng trống như thế. Đó là -3 byte ở đây!
Grimmy

Vui mừng tôi đã có thể giúp đỡ! Tôi chắc chắn sẽ phải cố gắng và ghi nhớ điều này, tôi đoán đó là vì <...>giả định những điều ảm đạm?
Dom Hastings

1
<> là dòng đọc hoặc toàn cầu, tùy thuộc vào công cụ (Perl cổ điển: ngữ pháp không rõ ràng, nhưng trình phân tích cú pháp cố gắng DWYM). Khi nó là một quả địa cầu, nó bắt chước rất nhiều các khối vỏ, bao gồm cả việc mở rộng nẹp là một tính năng phổ biến trong đạn pháo.
Grimmy

Có lẽ bạn có thể thêm một liên kết TIO vào câu trả lời của bạn. :) Hiện tại đây là câu trả lời ngắn nhất, nhưng tôi chỉ muốn đảm bảo mọi thứ hoạt động trước khi tôi chấp nhận nó là ngắn nhất.
Kevin Cruijssen

9

Python 2 , 227 220 214 byte

lambda y,c:[[choice([["wretch",m,"creature","demon",d,F,"it"],["vile insect",a+m,F,"wretched "+d,a+d]][c>9]),"Frankenstein's "+m][y>1818],0][y<1818]
from random import*
m,d,F,a='monster','devil','fiend',"abhorred "

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


1
Bạn cũng có thể lưu thêm 6 byte bằng cách đưa 'abhorred 'vào danh sách ở phía dưới, vì nó được sử dụng hai lần. ( 'wretch'cũng có thể, nhưng số byte vẫn giữ nguyên.)
Kevin Cruijssen

6

Perl 5 , 172 byte

Mã 171 byte + 1 cho -p.

@a=<><10?($}=wretch,$M=monster,creature,demon,$D=devil,fiend,it):("vile insect",($A="abhorred ").$M,fiend,"$}ed $D",$A.$D);$_=($a[rand@a],"frankenstein's $M",0)[$_<=>1818]

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

Giải trình

Khá chuẩn, chỉ có điều hơi bất thường là sử dụng 'toán tử tàu vũ trụ' ( <=>) 1818để trả về -1, 0hoặc 1, nếu đầu vào $_nhỏ hơn, bằng hoặc lớn hơn 1818để trả về chỉ mục cuối cùng, thứ nhất hoặc thứ hai của dữ liệu nguồn . Ngoài ra, tôi thích người điều khiển cá !


Tôi sẽ đặt câu hỏi không sử dụng $F=fiend, nhưng sau khi thử nghiệm, nó sẽ có cùng độ dài để làm như vậy.
Kamil Drakari

@KamilDrakari Vâng, cần phải dài từ sáu trở lên vì $sigil :(
Dom Hastings

$}thật là một tên biến ...
Tít

@Titus Yup! Hầu như bất cứ điều gì hoạt động, mặc dù nhiều người có ý nghĩa đặc biệt thêm. Tôi chỉ sử dụng nó ở đó như thể tôi đã sử dụng $WTôi cần sử dụng ${W}nó bên cạnh một chữ cái khác.
Dom Hastings

1
Tôi nghĩ rằng. gotcha không hơn không kém :)
Tít

4

C # (Trình biên dịch Visual C #) , 225 209 byte

y=>c=>y<1818?"":y>1818?"frankenstein's monster":"wretch,monster,creature,demon,devil,it,fiend,vile insect,abhorred monster,wretched devil,abhorred devil".Split(',')[new System.Random().Next(c>9?6:0,c>9?11:7)];

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

-16 cảm ơn Kevin Cruijssen

Không đặc biệt súc tích, nhưng tôi mong C # sẽ có nhiều không gian hơn để khai báo và sử dụng bất kỳ chuỗi lặp lại nào theo cách mà câu trả lời của Python thực hiện hơn là chỉ lặp lại chúng. Người chạy thử bao gồm có một Thread.Sleep(1)bảng liệt kê các trường hợp thử nghiệm vì gieo hạt mặc định choRandom() sử dụng thời gian hiện tại và chức năng thực tế chạy đủ nhanh để kết thúc với cùng một hạt giống trong các lần chạy tiếp theo mà không bị trì hoãn.

Các lệnh gọi đến func sử dụng cú pháp currying, f(year)(chapter)(hoặc bất kỳ tên nào mà hàm được lưu trữ thay vì f)


2
Tôi thấy bạn đã áp dụng thủ thuật tương tự như tôi đã nghĩ khi tôi đăng thử thách, đặt fiendở giữa một chuỗi chuỗi đơn, vì nó có mặt trong cả hai danh sách. Bạn có thể lưu một số byte bằng cách thay thế new[]{"wretch","monster","creature","demon","devil","it","fiend","vile insect","abhorred monster","wretched devil","abhorred devil"}bằng "wretch,monster,creature,demon,devil,it,fiend,vile insect,abhorred monster,wretched devil,abhorred devil".Split(',')(-16 byte)
Kevin Cruijssen

@KevinCruijssen Thủ thuật hay, Nó không có vẻ ngay lập tức có ích nhưng thay đổi dấu phân cách từ ","để chỉ ,bù cho thời gian dài hơn .Split(',')so new[]{}với nhiều hơn một vài mục.
Kamil Drakari

3

Bash, 229 , 206 , 197 , 179 byte

m=monster
a=("Frankenstein's $m" wretch $m creature demon devil it fiend vile\ insect {abhorr,wretch}ed\ {devil,$m})
echo "${a[$1>1818?0:$1<1818?13:RANDOM%($2>9?5:7)+($2>9?7:1)]}"

giải thích về mở rộng cú đúp / biến

m=monster
{abhorr,wretch}ed\ {devil,$m}

lần đầu tiên được mở rộng thành

abhorred\ {$m,devil} wretched\ {devil,$m}
abhorred\ $m abhorred\ devil wretched\ devil wretched\ $m

sau đó biến m được mở rộng

abhorred\ monster abhorred\ devil wretched\ devil wretched\ monster

tuy nhiên sau đây không hoạt động vì $wsẽ được nối đầu tiên edwedkhông được xác định và sẽ được mở rộng thành chuỗi trống.

m=monster
w=wretch
{abhorr,$w}ed\ {devil,$m}

nó có thể được thực hiện thêm niềng răng rõ ràng arround w nhưng sẽ dài hơn

m=monster
w=wretch
{abhorr,${w}}ed\ {devil,$m}

TIO


Bạn có thể lưu 4 byte bằng cách tạo các biến cho wretchmonster( 225 byte ).
Kevin Cruijssen

không đơn giản vì mở rộng cú đúp xảy ra trước khi mở rộng biến đổi
Nahuel Fouilleul

Tôi (gần như) không bao giờ được lập trình ở Bash, vì vậy bạn có thể làm rõ ý của bạn không? Nó dường như hoạt động trong TIO , nhưng có lẽ tôi đang thiếu một cái gì đó do cách ngôn ngữ lập trình ứng xử.
Kevin Cruijssen

1
@KevinCruijssen thnak bạn tôi đã học được điều gì đó khi niềng răng là công cụ mở rộng phần tử cuối cùng
Nahuel Fouilleul

1
@DomHastings, vâng, đã sửa
Nahuel Fouilleul

2

APL (Dyalog Unicode) , 189 byte

m'monster'
a'abhorred ',⊢
f'fiend'
d'devil'
{⊃⍵=1818:{⊃⌽⍵<10:(?7)⊃'wretch'm'creature' 'demon'd f'it'⋄(?5)⊃'vile insect'(a m)f('wretched ',⊢d)(a d)}⍵⋄{⊃⍵>1818:'frankenstein''s ',⊢m''}⍵}

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

Để kiểm tra, chỉ cần nối trường hợp kiểm tra vào dấu ngoặc nhọn cuối cùng như sau:

{⊃⍵=1818:{⊃⌽⍵<10:(?7)⊃'wretch'm'creature' 'demon'd f'it'⋄(?5)⊃'vile insect'(a m)f('wretched ',⊢d)(a d)}⍵⋄{⊃⍵>1818:'frankenstein''s ',⊢m''}⍵}1818 10

Rất cảm ơn @ngn đã giúp đỡ trong vấn đề khoảng trắng hàng đầu.

Làm thế nào nó hoạt động:

Đáng lưu ý rằng APL diễn giải các chuỗi dưới dạng mảng ( vectơ ) của các ký tự, do đó 'wretch' 'creature'sẽ được hiểu theo các ngôn ngữ khác là[[w,r,e,t,c,h],[c,r,e,a,t,u,r,e]]

Đây là các hàm trợ giúp:

m'monster'      #These are pretty self explanatory, variables m, f and d are being set to 'monster', 'fiend' and 'devil respectively.
f'fiend'
d'devil'
a'abhorred ',⊢  # a is being set to 'abhorred ' concatenated with the argument to it's right.

Đây là chức năng chính, sẽ được chia thành 3 phần để hiểu rõ hơn:

{⊃⍵=1818:{⊃⌽⍵<10:(?7)⊃'wretch'm'creature' 'demon'd f'it'⋄(?5)⊃'vile insect'(a m)f('wretched ',⊢d)(a d)}⍵⋄{⊃⍵>1818:'frankenstein''s ',⊢m''}⍵}

Phần 1:

{⊃⍵=1818:{Part2}⍵⋄{Part3}⍵} # First conditional
        :                   # If
                           # the first element
                           # of the argument ⍵
   =1818                    # Equals the literal 1818
         {Part2}⍵           # Executes part 2 with argument ⍵
                           # Else
                  {Part3}⍵  # Executes part 3 with argument ⍵

Phần 2:

{⊃⌽⍵<10:(?7)⊃'wretch'm'creature' 'demon'd f'it' # Second conditional
(?5)⊃'vile insect'(a m)f('wretched ',⊢d)(a d)}⍵                
       :                                         # If
                                                # the first element
                                                # of the inverse
                                                # of the argument ⍵
    <10                                          # is less than 10
                                                # pick the nth
       (?7)                                      # random element between [1,7]
            'wretch'm'creature' 'demon'd f'it'   # from this string array
                                                # Else
                                                # pick the nth
(?5)                                             # random element between [1,5]
     'vile insect'(a m)f('wretched ',⊢d)(a d)    # from this string array
                                             }⍵  # using argument ⍵

Phần 3:

{⊃⍵>1818:'frankenstein''s ',⊢m''}⍵ # Third conditional
        :                           # If
                                   # the first element
                                   # of the argument ⍵
   >1818                            # is greater than 1818
         'frankenstein''s ',⊢m      # print the string "frankenstein's" concatenated with m (which prints monster)
                                   # else
                               ''   # print an empty string
                                 }⍵ # with argument ⍵

2

Java (OpenJDK 8) , 275 269 255 207 203 byte

y->c->y<1818?0:y>1818?"Frankenstein's monster":"wretch;monster;creature;demon;devil;it;fiend;vile insect;abhorred monster;wretched devil;abhorred devil".split(";")[c+=Math.random()*(c>9?5:7)+(c>9?6:0)-c]

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




1
203 byte . Sử dụng IntFunctions thay vì Function<Integer>để nó làm việc.
Olivier Grégoire

2

PHP, 184 176 byte

<?=strtr([0,1,2,Creature,Demon,It,Fiend,30,31,"2ed 1","Vile Insect","Frankenstein´s 0"][[rand(6*$x=$argv[2]>9,6+4*$x),11][$argv[1]<=>1818]],[Monster,Devil,Wretch,"Abhorred "]);

Chạy với -nvà đưa ra năm và chương dưới dạng đối số dòng lệnh hoặc thử trực tuyến .

chỉ số và do đó kết quả đánh giá NULLcho năm <1818, dẫn đến đầu ra trống.


Không gì $argv[1]<=>1818làm gì? Tôi chưa bao giờ thấy điều đó.
YU KHÔNG LÀM VIỆC


1

Javascript (ES6), 205 byte

a="abhorred ",d="devil",f="fiend",m="monster"
y=>c=>y<1818?0:y>1818?"frankenstein's "+m:(l=c<10?[f,"wretch",m,"creature","demon",d,f,"it"]:["vile insect",a+m,f,"wretched "+d,a+d])[0|Math.random()*l.length]

Trả về 0nếu năm dưới 1818


1

Javascript 199 byte

M="monster"
A=(y,c)=>y<1818?"":y^1818?"Frankenstein's "+M:[W="wretch",M,"creature","demon",D="devil",F="fiend","it","vile insect",(H="abhorred ")+M,F,W+"ed "+F,H+D][Math.random()*(c>9?5:7)+7*(c>9)|0]

console.log(A(1700,1))
console.log(A(1700,12))
console.log(A(1817,10))
console.log(A(1818,1))
console.log(A(1818,9))
console.log(A(1818,10))
console.log(A(1818,11))
console.log(A(1819,1))
console.log(A(1819,18))
console.log(A(2017,24))


1

C, 380 B BYNG

void ok(int *year, int* chapter){char*below_10[] = {"wretch", "monster", "creature", "demon", "devil", "fiend", "it"}; char*at_10[] = {"vile insect", "abhorred monster", "fiend", "wretched devil", "abhorred devil"}; year < 1818?printf("0"):(year == 1818?(chapter<10 printf("%s",below_10[rand()%8]):printf("%s",at_10[rand()%7])):printf("Frankenstein's Monster"));}

4
Xin chào, chào mừng đến với PPCG! Trong một thử thách chơi gôn, mục tiêu là có càng ít byte càng tốt. Vì vậy, tên phương thức / biến là tốt nhất dưới dạng ký tự đơn. Ngoài ra, bạn có thể xóa tất cả các khoảng trắng và dòng mới không cần thiết và sử dụng "Frankenstein's Monster"trực tiếp thay vì tạo một biến cho nó. Ngoài ra, từ đâu đến yearchapterđến từ bây giờ? Tôi không thấy nó là tham số của phương thức. Mẹo chơi gôn bằng <tất cả các ngôn ngữ>Mẹo chơi gôn bằng C có thể hữu ích. Tận hưởng kì nghỉ của bạn! :)
Kevin Cruijssen

Không vấn đề gì. Và bạn có thể chơi gôn thêm một chút: void o(int y,int c){char*b[]={"wretch","monster","creature","demon","devil","fiend","it"},*a[]={"vile insect","abhorred monster","fiend","wretched devil","abhorred devil"};printf("%s",y<1818?0:y==1818?c>9?a[rand()%6]:b[rand()%7]:"Frankenstein's Monster");} 256 byte Hãy thử tại đây! (Tôi đã gỡ bỏ tất cả các không gian không cần thiết, đổi tên phương pháp / biến / thông số để chữ cái; loại bỏ một số ngoặc không cần thiết tại ternary-nếu; đơn printf; thay đổi <10để >9, vv) Không chắc chắn tại sao rand()không được làm việc trong TIO ..: S
Kevin Cruijssen


1

MBASIC , 288 byte

1 DIM R$(12):FOR I=1 TO 12:READ R$(I):NEXT:INPUT Y,C:IF Y<1818 THEN 5
2 IF Y>1818 THEN O$="Frankenstein's Monster":GOTO 5
3 IF C>9 THEN O=7
4 O$=R$(O+INT(RND(1)*N+1))
5 PRINT O$:DATA wretch,monster,creature,demon,devil,fiend,it,vile insect,abhorred monster,fiend,wretched devil,abhorred devil

0

05AB1E , 114 110 byte

0…뢼–±¹.•ʒ¦Ë"ìËM₂G¶тá≠•ì#.•1ÏiT¥Ƶʒ“T¡Äg… 5ÀΘO¼™Ãí?ιË%4₄‡‡λYιi¾н••Jtm•17в£‚…'s 'ì³R7£R’¡¬ÿÿ±¹’¸¸)sŽ7X.S>èsT@èΩ

Sản lượng 0khi năm dưới1818 .

Dùng thử trực tuyến hoặc xác minh tất cả các trường hợp thử nghiệm .

Giải trình:

0                    # Push a 0
…뢼–±¹              # Push dictionary string "creature devil monster"
 .•ʒ¦Ë"ìËM₂G¶тá≠•   "# Push compressed string "demon fiend it wretch "
  ì                  # Prepend it: "demon fiend it wretch creature devil monster"
   #                 # Split by spaces: ["demon","fiend","it","wretch","creature","devil","monster"]
.•1ÏiT¥Ƶʒ“T¡Äg 5ÀΘO¼™Ãí?ιË%4₄‡‡λYιi¾н•
                     # Push compressed string "abhorred devilabhorred monsterfiendvile insectwretched devil"
 Jtm               # Push compressed integer 1249548
      17в            # Converted to Base-17 as list: [14,16,5,11,14]
         £           # Split the string into parts of that size: ["abhorred devil","abhorred monster","fiend","vile insect","wretched devil"]
                    # Pair both string-lists together
's                 '# Push string "'s "
   'ì³              '# Push dictionary string "liechtenstein"
      R7£R           # Leave the last 7 characters: "enstein"
          ’¡¬ÿÿ±¹’   # Push dictionary string "frankÿÿmonster", where the "ÿ" are automatically
                     # replaced with the strings at the top of the stack: "frankenstein's monster"
                  ¸¸ # Wrap it twice into a list: [["frankenstein's monster"]]
)                    # Wrap everything on the stack into a list
                     # (We now have: [0,[["demon","fiend","it","wretch","creature","devil","monster"],["abhorred devil","abhorred monster","fiend","vile insect","wretched devil"]],[["frankenstein's monster"]]])
 s                   # Swap to get the first (implicit) input
  Ž7X                # Push compressed integer 1818
     .S              # Compare it with the input (-1 if below; 0 if equal; 1 if above)
       >             # Increase it by 1 (0 if below; 1 if equal; 2 if above)
        è            # Use it to index into the list
         s           # Swap to get the second (implicit) input
          T@         # Check if it's larger than or equal to 10 (results in 0 for falsey; 1 for truthy)
            è        # Use it to index into the inner list
             Ω       # And finally get a random value from that list (which is output implicitly)

Xem mẹo 05AB1E này của tôi (phần Cách sử dụng từ điển ? ; Cách nén chuỗi không phải là một phần của từ điển ? ; Cách nén số nguyên lớn ? ; Và Cách nén danh sách số nguyên? ) Để hiểu tại sao:

  • …뢼–±¹"creature devil monster";
  • .•ʒ¦Ë"ìËM₂G¶тá≠•"demon fiend it wretch ";
  • .•1ÏiT¥Ƶʒ“T¡Äg… 5ÀΘO¼™Ãí?ιË%4₄‡‡λYιi¾н•"abhorred devilabhorred monsterfiendvile insectwretched devil";
  • •Jtm•đang 1249548•Jtm•17в[14,16,5,11,14];
  • 'ì³"liechtenstein ";
  • ’¡¬ÿÿ±¹’"frankÿÿmonster";
  • Ž7X1818.

-1

JavaScript, 194 B

e=Math.random,f=Math.floor;x=(a,b,c=`insect,monster,wretch,creature,demon,devil,fiend,it`.split`,`,d=[`vile `,`abhorred `])=>a<1818||a-1818?`Frankenstein's `+c[1]:(b<10||c[f(e()*2)])+c[f(e()*8)]

không thực sự phù hợp với các trường hợp thử nghiệm
DanielIndie
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.