Metapoem Equinox


8

Mục tiêu:

  • Viết một chương trình xuất mã nguồn cho một chương trình khác tạo ra các từ.

Thông tin chung:

  • Bất kỳ ngôn ngữ lập trình.

Quy tắc:

  1. Chương trình của bạn không nên có bất kỳ đầu vào. (từ người dùng, tên tệp, mạng hoặc bất cứ điều gì).
  2. Mã nguồn chương trình được tạo không được ở cùng ngôn ngữ lập trình với bản gốc.
  3. Đầu ra từ chương trình được tạo phải chính xác mỗi ký tự thứ ba từ mã nguồn gốc, bắt đầu từ ký tự số 3 (ký tự đầu tiên trong mã nguồn là # 1).
  4. Ràng buộc mã nguồn: Tối đa 1500 ký tự
  5. Ràng buộc mã nguồn cho chương trình được tạo: Tối đa 250 ký tự

Ghi điểm dựa trên đầu ra từ chương trình được tạo, bạn nhận được điểm cho các từ sau (bất kỳ kết hợp chữ hoa / chữ thường):

me - 2 points
ore - 3 points
freq - 5 points
pager - 7 points
mentor - 11 points
triumph - 13 points
equipage - 17 points
equipment - 19 points
equivalent - 23 points
equilibrium - 29 points
unubiquitous - 31 points
questionnaire - 37 points

Mỗi từ có thể được lặp lại nhưng mất 1 điểm cho mỗi lần lặp lại. Ví dụ:

  • bốn trong số Equilibrium(ở bất kỳ vị trí nào) trong đầu ra cho: 29 + 28 + 27 + 26 điểm.

Các chữ cái trong đầu ra có thể được sử dụng trong nhiều hơn một từ, ví dụ:

  • equipager= equipagepager= 17 + 7 điểm.

Điểm số tốt nhất chiến thắng. Chúc may mắn vui vẻ!


1
Tôi không hiểu Quy tắc 3! Ý anh là gì? Bạn có thể viết ra một ví dụ?
Vereos

Nếu mã nguồn này là: print("hello")thì đầu ra từ mã được tạo phải chính xác : i(eo. Đầu ra từ mã được tạo có thể dài tối đa 500 ký tự (vì mã nguồn gốc được giới hạn ở 1500 ký tự).
Plarsen

2
@Plarsen: Bạn có nên cập nhật câu hỏi của mình không? Bây giờ nó nói "Tối đa 250 ký tự" cho chương trình được tạo, nhưng trong nhận xét của bạn, bạn nói "500 ký tự".
Chương trìnhFOX

1
kích thước mã nguồn tối đa cho chương trình được tạo là 250, nhưng nó có thể xuất tối đa 500 ký tự (nếu mã nguồn gốc là 1500 ký tự)
Plarsen

Tôi có đúng không khi nghĩ rằng 'người cố vấn' và 'thiết bị' sẽ nhận được 2 điểm thưởng khi chứa 'tôi'?
Kendall Frey

Câu trả lời:


2

Befunge-98, tạo tập lệnh zsh: 150 1053 1113 1139 điểm

Chương trình Befunge-98 (1500)

:#q #u!#e!#sa#t7#i6#o*#n*#n*#aj#ib#r9#e*#q:#u:#i:#p:#a:#g:#e:#r:#e:#q3#u+#i,#pc#m+#e,#nf#t+#o,#r4#e8#q*#u,#i6#l+#i:#b,#r4#i8#u*#m,#e,#qb#u+#i:#p:#m:#e:#n:#t,#o4#r8#e*#q,#u,#i4#l8#i*#b,#r,#i4#u8#m*#u,#n,#u4#b8#i*#q,#u,#i4#t8#o*#u,#s,#q4#ua#e*#s-#t,#i2#o+#n,#n,#a5#i+#r,#ec#q+#u,#i4#v8#a*#l,#e9#n5#t*#-,#qb#ua#e*#s,#t4#i8#o*#n,#n #a #i #r #e #q #u #i #p #a #g #e #r #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #u #n #u #b #i #q #u #i #t #o #u #s #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #v #a #l #e #n #t #- #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #p #a #g #e #r #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #u #n #u #b #i #q #u #i #t #o #u #s #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #v #a #l #e #n #t #- #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #p #a #g #e #r #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #u #n #u #b #i #q #u #i #t #o #u #s #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #v #a #l #e #n #t #- #q #u #e #s #t #i #o #n #n #a #i #r #e #q #u #i #p #a #g #e #r #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #e #q #u #i #p #m #e #n #t #o #r #e #q #u #i #l #i #b #r #i #u #m #u #n #u #b #i #q #u #i #t #o #u #s:#q2#u+#e0#sg#t,#i3#o+#n:#n #a3#i9#rb#e*#q*#u #i`#v #a!#l #e1#n+jt@#-

tạo tập lệnh shell zsh (127)

for i in n n n n n;echo -n questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-

lần lượt kết quả đầu ra (500)

questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-questionnairequipagerequipmentorequilibriumequipmentorequilibriumunubiquitousquestionnairequivalent-

khi thực hiện. Điều này đáng giá 1139 điểm (giả sử tính toán của tôi là chính xác).

Phiên bản đầu (được lưu tại đây vì dễ hiểu hơn nhiều)

Chương trình Befunge-98

:#m #e!#n!#tb#o9#r*#e*#qj#ub#i9#l*#i:#b:#r:#u2#m+#f,#r,#e5#q+#u,#ec#s+#t,#i8#o4#n*#n,#a #r #i #e #q #u #i #p #m #e #n #t #r #i #u:#m2#p+#h0#ug#n,#u3#b+#i:#qf#uf#i*#t`#o5ju @s#_

tạo tập lệnh shell Bourne (bao gồm một loạt các khoảng trắng ở cuối)

echo mentorequilibrumfrequestionnariequipmentriumphunubiquitous                  

Đây là cùng một chương trình chuyển đổi, để đọc dễ dàng hơn.

: !!b9**jb9*:::2+,,5+,c+,84*,              :2+0g,3+:ff*`5 #
########################################################j@_
mentorequilibrumfrequestionnariequipmentriumphunubiquitous

Tôi biết ai đó sẽ sử dụng tiếng vang như bước thứ hai cuối cùng. :)
Kendall Frey

Tôi đã cân nhắc việc bỏ nó đi và gọi ngôn ngữ đích là "tiếng Anh" hoặc "/ bin / cat", nhưng đó có lẽ là một trò lừa bịp. : P
FireFly

2

Shellscript và Python - 514 Điểm

Trình của tôi được viết bằng shellscript:

echo   print"'h rthtq""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""q""u""e""s""t""i""o""n""n""a""i""r""e""u""n""u""b""i""q""u""i""t""o""u""s""u""n""u""b""i""q""u""i""t""o""u""s""u""n""u""b""i""q""u""i""t""o""u""s""u""n""u""b""i""q""u""i""t""o""u""s""u""n""u""b""i""q""u""i""t""o""u""s""e""q""u""i""l""i""b""r""i""u""m""e""q""u""i""l""i""b""r""i""u""m""e""q""u""i""l""i""b""r""i""u""m""e""n""t""o""r""e""q""u""i""p""m""e""n""t""o""r""e""q""u""i""p""m""e""n""t""o""r""e""q""u""i""p""m""e""n""t""o""r'"

Nó sẽ xuất mã python sau (249 ký tự):

print'h rthtquestionnairequestionnairequestionnairequestionnairequestionnairequestionnairequestionnairequestionnaireunubiquitousunubiquitousunubiquitousunubiquitousunubiquitousequilibriumequilibriumequilibriumentorequipmentorequipmentorequipmentor'

Sản lượng của ai chứa:

8 * questionnaire: 37+36+35+34+33+32+31+30
5 * unubiquitous: 31+30+29+28+27
3 * equipment: 19+18+17
4 * mentor: 11+10+9+8
3 * ore: 3+2+1
6 * me: 2+1

với tổng số 514 điểm.

Không tinh vi lắm, tôi chắc chắn người khác có thể làm tốt hơn :)


1
Có lẽ bạn có thể nhét thêm nhiều thứ vào nếu bạn sắp xếp lại để nó đi "câu hỏi"
Justin

Đồng ý với Quincunx, ngoài ra, tôi tin rằng người ta có thể có lợi thế khi tạo một thuật toán trong mã được tạo, tận dụng việc sử dụng thường xuyên các ký tự q u i etrong các từ có giá trị nhất để tạo đầu ra 500 ký tự. Nhưng tôi không chắc chắn
Plarsen

2

JavaScript & REBEL - 198

Chương trình ban đầu:

console.log( "nll(llf  r  e  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  u  n  u  b  i  q  u  i  t  o  u  s  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  v  a  l  e  n  t  r  i  u  m  p  h  e  q  u  i  l  i  b  r  i  u  m+.+ +.$0+;/ + +//.+/$>$0")+0 ;

Tạo chương trình:

nll(llf  r  e  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  u  n  u  b  i  q  u  i  t  o  u  s  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  v  a  l  e  n  t  r  i  u  m  p  h  e  q  u  i  l  i  b  r  i  u  m+.+ +.$0+;/ + +//.+/$>$0

Đầu ra:

nll(llfrequestionnairequipagerunubiquitousequipmentorequivalentriumphequilibrium+.+ +.$0+;

Ghi chú:

Mỗi từ được xuất chính xác một lần, ngoại trừ "tôi" là đầu ra hai lần.

Bạn sẽ nhận thấy rằng chương trình được tạo dài chính xác 250 ký tự. Tôi đã không nhận thấy điều này cho đến khi nó được viết. Tôi coi mình là người may mắn.


2

Python tạo ra C, 947

##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s##q##u##e##s##t##i##o##n##n##a##i##r##e##q##u##i##p##a##g##e##r##e##q##u##i##p##m##e##n##t##o##r##e##q##u##i##v##a##l##e##n##t##r##i##u##m##p##h##u##n##u##b##i##q##u##i##t##o##u##s
print 'main(i,j){for (i=0;i<7;i++) printf("questionnairequipagerequipmentorequivalentriumphunubiquitous");printf("a(jf =i;+pn(utniqpeqpnruanipniiu)rt\"a(jf =i;+pn(utniqpeqpnruanipniiu)rt\"j=+(nppuii)\\)");}'

Tôi sử dụng các từ dài nhất (cho điểm cao nhất) và các từ chồng chéo quá (ví dụ trang bị, như ví dụ). Đây là cách tính điểm:

tôi = 2 + 1 + 0 + 0 + 0 + 0 + 0 = 3
quặng = 3 + 2 + 1 + 0 + 0 + 0 + 0 = 6
máy nhắn tin = 7 + 6 + 5 + 4 + 3 + 2 + 1 = 28
người cố vấn = 11 + 10 + 9 + 8 + 7 + 6 + 5 = 56
chiến thắng = 13 + 12 + 11 + 10 + 9 + 8 + 7 = 70
trang bị = 17 + 16 + 15 + 14 + 13 + 12 + 11 = 98
thiết bị = 19 + 18 + 17 + 16 + 15 + 14 + 13 = 112
tương đương = 23 + 22 + 21 + 20 + 19 + 18 + 17 = 140 không
phổ biến = 31 + 30 + 29 + 28 + 27 + 26 + 25 = 196
câu hỏi = 37 + 36 + 35 + 34 + 33 + 32 + 31 = 238

Tổng cộng là 947 .

Chỉnh sửa: bây giờ chương trình được tạo sẽ xuất "chính xác mọi ký tự thứ ba từ mã nguồn gốc" :)


Đẹp! Mã C được tạo của bạn có thực sự in chính xác từng ký tự thứ ba của TẤT CẢ mã Python của bạn không? Tôi cũng nghĩ rằng bạn đã quên đếm điểm của mình cho các từ oreme:)
Plarsen

Tôi giả sử rằng mã được tạo không phải xuất TẤT CẢ mã Python (có thể tôi đã hiểu sai câu "chính xác là mỗi ký tự thứ ba từ mã nguồn gốc"). Sẽ cố gắng khắc phục điều đó.
Gabriele D'Antona

2

Javascript và Golfscript - 1074 điểm

Javascript (1500 ký tự):

/*e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  m  e  n  t  o  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  a  g  e  r  e  q  u  i  l  i  b  r  i  u  m  u  n  u  b  i  q  u  i  t  o  u  s  q  u  e  s  t  i  o  n  n  a  i  r  e  q  u  i  p  m  e  n  t  o  r*/console.log(  "5{ 2{'equilibriumunubiquitousquestionnairequip'   'ager'}*   'mentor' \\;}*  'cseo 52eibuniiuutniqp ar* eo ; co2biui *o 2u*22  '" ); 

Đã tạo Golfscript (128 ký tự): Kiểm tra GolfScript trực tuyến

5{ 2{'equilibriumunubiquitousquestionnairequip'   'ager'}*   'mentor' \;}*  'cseo 52eibuniiuutniqp ar* eo ; co2biui *o 2u*22  ' 

Đầu ra (500 ký tự):

equilibriumunubiquitousquestionnairequipagerequilibriumunubiquitousquestionnairequipmentorequilibriumunubiquitousquestionnairequipagerequilibriumunubiquitousquestionnairequipmentorequilibriumunubiquitousquestionnairequipagerequilibriumunubiquitousquestionnairequipmentorequilibriumunubiquitousquestionnairequipagerequilibriumunubiquitousquestionnairequipmentorequilibriumunubiquitousquestionnairequipagerequilibriumunubiquitousquestionnairequipmentorcseo 52eibuniiuutniqp ar* eo ; co2biui *o 2u*22  

Ghi bàn:

10 * questionnaire (37+36+35+34+33+32+31+30+29+28)    = 325
10 * unubiquitous  (31+30+29+28+27+26+25+24+23+22)    = 265
10 * equilibrium   (29+28+27+26+25+24+23+22+21+20)    = 245
5  * equipage      (17+16+15+14+13)                   = 75
5  * pager         (7+6+5+4+3)                        = 25
5  * equipment     (19+18+17+16+15)                   = 85
5  * mentor        (11+10+9+8+7)                      = 45
4  * ore           (3+2+1)                            = 6
10 * me            (2+1)                              = 3

Tổng cộng: 1074

CẬP NHẬT: Được quản lý để đạt được một số điểm bằng cách thay đổi các vòng lặp GolfScript từ 3 * 3 thành 5 * 2.

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.