Xin chào thế giới - nhưng theo bảng chữ cái


24

Thử thách này nghe có vẻ quá đơn giản để chưa tồn tại, vì vậy hãy cho tôi biết nếu nó là một bản sao.

Nhiệm vụ

In Hello, world!

Những quy định

Mã của bạn phải theo "thứ tự byte". Điều này có nghĩa là mỗi ký tự / byte có giá trị byte cao hơn hoặc bằng so với ký tự / byte trước đó.

Ngoại lệ cho quy tắc này là các tự khoảng trắng , có thể xảy ra ở bất cứ đâu.

Các sơ hở thông thường không được phép.

Chỉnh sửa : Hello, world!Không được phép sử dụng các hàm / hằng tích hợp sẵn để phân giải .

Chỉnh sửa 2 : Đầu ra có thể là một hàm (n nặc danh) trả về chuỗi, một biểu thức phân giải thành chuỗi hoặc bất kỳ cách nào khác mà bạn nghĩ nên được cho phép.

thí dụ

HWlà hợp lệ: 0x48 (H) <= 0x57 (W)
printkhông hợp lệ: 0x72 (r) > 0x69 (i)
nhưng PRintlà hợp lệ:0x50 (P) <= 0x52 (R) <= 0x69 (i) <= 0x6e (n) <= 0x74 (t)

Việc ghi bàn

Đây là vì vậy điểm số là số ký tự / byte. Điểm càng thấp, thứ hạng càng cao.


9
Có nhiều ngôn ngữ được xây dựng trong Hello World 1 byte. Một số thậm chí có thể in Hello World cho một chương trình trống.
Dennis

2
Liên quan rất chặt chẽ. (Sự khác biệt là người ta cho phép mỗi dòng được sắp xếp độc lập và nó chủ yếu được ghi bằng số lượng dòng.)
Martin Ender

@Dennis Thêm một quy tắc bổ sung vì điều đó! Cảm ơn
Charlie

Vẫn tầm thường trong 23, Headsecks và Lenguage, nhưng dài hơn nhiều so với một vài byte.
Dennis

Đầu ra mặc định như thế ans = Hello, world!có ổn không? Mặt khác, MATLAB và Octave sẽ không thể thử điều này ... disp, printfevaltất cả đều theo thứ tự không theo thứ tự chữ cái.
Stewie Griffin

Câu trả lời:


15

WhiteSpace, 146 byte

Vì tất cả các khoảng trắng có thể xảy ra ở mọi nơi, đây chỉ là chương trình Hello World được đánh gôn. Vì khoảng trắng không hiển thị đúng ở đây, hãy lấy chương trình sau và thay thế tất cả .bằng dấu cách, >bằng tab và ;theo dòng mới.

...;..>>..>.>.;..>>>>;...>;...>>>;...>..;..>>.>..;..>>..>.>>;..>>>>>>>;...>..;...>;.;...>>>.;..>>...>>;;..;.;.;>.>;...>>.>.>>;>...>;..;.;;;..>;;;;

chú thích

Tôi đã không chơi golf này, LukStorms đã làm. Câu trả lời của ông có thể được tìm thấy ở đây .


Nó không theo thứ tự byte.
Matthew Roh

1
Thật vậy, nhưng khoảng trắng không phải theo thứ tự byte; nó có thể xuất hiện ở mọi nơi
Luke

3
Oh. Lạm dụng tốt các quy tắc sau đó
Matthew Roh

Chính xác. Đó cũng là một phần lý do đây là wiki cộng đồng.
Lu-ca

15

Headsecks - 124 82 ký tự

Cảm ơn @MartinEnder đã chỉ cho tôi đến một thế giới xin chào nhỏ hơn!

Headsecks có vẻ là ngôn ngữ phù hợp cho công việc, bởi vì bộ não của nó ngoại trừ việc nó lấy mỗi nhân vật mod 8.

 +19AISYchpx£¨°»ÁËÐÞàèðøĀĈĐĘĦīİĸŀňŐŘŠŨųŻƀƈƐƘƠƪƲƺǁǏǒǟǣǫǴǸȃȈȐțȤȫȴȼɀɋɓɜɠɫɱɹʃʉʑʞʣʩʴʺ˂ˏ

Bạn có thể dùng thử bằng cách truy cập tại đây: https://repl.it/G2I5/1 , sau đó tại đây: https://sange.fi/esoteric/brainfuck/impl/interp/i.html


Bạn cần đăng một trình thông dịch Headsecks thực tế sẽ chạy cái này, không phải là chương trình Python để chuyển đổi sang BF và trình thông dịch BF. Vì chương trình có chứa không phải ASCII, trình thông dịch mà bạn liên kết đến cần xử lý các chương trình Headsecks không phải ASCII.
mbomb007

@ mbomb007 trước đây từng là một thông dịch viên, nhưng bây giờ 404s là :( esolangs.org/wiki/Headsecks
Maltysen 22/03/2017


@ mbomb007 mà người ta xử lý các điểm mã unicode, nhưng không phải là các thủ thuật gói kỳ lạ mà bf hellowworld sử dụng. Tôi sẽ cố gắng tìm kiếm một câu hỏi khác, hoặc chỉ quay lại câu trả lời sớm hơn, dài hơn của tôi.
Maltysen

Có lẽ ai đó nên tạo ra một triển khai, sau đó yêu cầu Dennis đưa nó lên TIO. Ngoài ra, ai đó nên chỉnh sửa Esolang. Tôi đã đi đến, nhưng idr thông tin đăng nhập của tôi.
mbomb007

13

CJam , 784 byte

"	 







































	 




































































	 











































































	 











































































	 














































































	 











	 	 






















































































	 














































































	 

















































































	 











































































	 



































































	 
"
"	
"')`er~

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

Không giành được bất cứ điều gì với số byte đó, nhưng điều này vẫn rất thú vị.

Giải trình

Chuỗi lớn đầu tiên mã hóa Hello, world!chỉ sử dụng khoảng trắng. Mỗi ký tự được ánh xạ tới một tab, một khoảng trắng và một số nguồn cấp dữ liệu bằng với mật mã trừ đi 32.

Tiếp theo, chuỗi được chuyển ngữ bằng cách thay thế các tab bằng 'và linefeed bằng ). Điều này dẫn đến nhiều chuỗi ký tự không gian theo nghĩa đen, theo sau là một số gia số. Chuỗi được đánh giá bằng cách ~đẩy các khoảng trắng và tăng chúng thành các ký tự thích hợp.

Ngăn xếp là đầu ra ngầm vào cuối chương trình.


5
Tuyệt vời, cuối cùng là một câu trả lời thực sự thông minh!
Sản xuất ETH
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.