Chào người dùng


16

Tạo một chương trình khi chạy sẽ hiển thị văn bản dưới đây:

)-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-(

Sử dụng bất kỳ chức năng hoặc ngôn ngữ để trả lời này, vui chơi. Mã ngắn nhất sẽ thắng


3
Chúng ta có thể trả lại cái này từ một hàm như bình thường không?
Stephen

6
Được hàng đầu / trailing mới được phép?
Gryphon - Phục hồi Monica

Câu trả lời:


6

Japt , 41 39 byte

Đã lưu 2 byte nhờ @Shaggy

[U="){"-*-*-*^_"ê}("`| WelÖ  U r! |`U]·

Giải trình:

[U="){"-*-*-*^_"ê}("`| WelÖ  U r! |`U]·
[                                    ]    // Create a new array
 U=                                       // Variable U =
   ")                                     //   ")
     {            }                       //   Evaluate everything in curley-brackets as code
      "-*-*-*^_"ê                         //   "-*-*-*^_" mirrored -> -*-*-*^_^*-*-*-
                  ("                      //   ("
                                          * Now we have [U=")-*-*-*^_^*-*-*-("]
                    `| WelÖ  U r! |`      // "| Welcome User! |" decompressed by `...`
                                     U    // ")-*-*-*^_^*-*-*-("
                                          * Now we have [")-*-*-*^_^*-*-*-(","| Welcome User! |",")-*-*-*^_^*-*-*-("]
                                      ·   // Split with new-lines

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




12

T-SQL, 60 byte

PRINT')-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-('

SQL cho phép chia chuỗi ký tự theo dòng, vì vậy những lợi nhuận đó được tính.

Làm việc trên một giải pháp thủ tục, nhưng nghi ngờ tôi sẽ tìm thấy một người dưới 60 tuổi.

Chỉnh sửa mới : Tìm thấy một đơn giản REPLACEliên quan đến giải pháp tầm thường:

PRINT REPLACE('1
| Welcome User! |
1',1,')-*-*-*^_^*-*-*-(')

Hóa ra REPLACEsẽ thực hiện chuyển đổi ngầm định một chữ số thành một chuỗi, vì vậy điều này cho phép tôi lưu 2 ký tự bằng cách loại bỏ các trích dẫn xung quanh ký tự thay thế của mình.

Cố gắng đặt nó vào một biến quá dài, do chi phí của DECLARE(69 byte):

DECLARE @ CHAR(17)=')-*-*-*^_^*-*-*-('PRINT @+'
| Welcome User! |
'+@


8
Câu trả lời này là hoàn toàn tốt @juniorRubyist
Ông

Đồng ý. Tôi đã gỡ bỏ downvote đó.
juniorRubyist

Cảm ơn. Nghĩ rằng ban đầu bạn đề cập đến giới hạn đầu ra mã hóa cứng , nhưng điều đó cho phép đối với độ phức tạp kolmogorov. Chỉ là không đặc biệt hiệu quả.
BradC


8

C (gcc) , 78 75 byte

main(i){for(;printf(")-*-*-*^_^*-*-*-(")&i--;puts("\n| Welcome User! |"));}

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


Thử tốt, số lượng byte khá thấp là tốt!
Amurt4l

Thấp nhất tôi đã có nó xuống là 66 byte cho đến nay
Amurt4l


2
@ Amurt4l nếu bạn muốn, vì bạn đã nhận được khá nhiều câu trả lời, bạn cũng có thể đăng câu trả lời của riêng mình :)
Stephen

6

Bong bóng , 43 byte

00000000: d3d4 d502 c1b8 f838 30ad abc1 55a3 109e  .......80...U...
00000010: 9a93 9c9f 9baa 105a 9c5a a4a8 50c3 a589  .......Z.Z..P...
00000020: ae06 00bd 4d85 9835 0000 00              ....M..5...

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


3
Ngôn ngữ <s> này </ s> có cảm giác như lạm dụng "quy tắc" như vậy, tôi nghĩ rằng chúng ta nên thay đổi chúng chỉ để @Dennis sẽ phải thay đổi ngôn ngữ một chút
Stephen

@StephenS TBH, tôi đồng ý. Tuy nhiên, rất may các ngôn ngữ được tối ưu hóa cho độ phức tạp kolmogorov (Jelly, 05AB1E, V, SOGL, một số ngôn ngữ khác) vẫn có thể thường đánh bại nó mà không cảm thấy rẻ tiền.
DJMcMayhem

11
@StephenS Nếu một thử thách được giải quyết tốt nhất với Bubblegum, thì đó là lỗi của thử thách, không phải ngôn ngữ. Thay vì quy tắc lập luật, hãy viết những thử thách thú vị hơn.
Anders Kaseorg

6

05AB1E , 31 29 26 byte

-3 Byte nhờ Emigna

")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»

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

Giải trình

")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»
")-*-*-*^_"                # Push )-*-*-*^_
           .∞              # Intersected mirror (results in )-*-*-*^_^*-*-*-( )
             D             # Duplicate top of stack
              ”|‡Ý‚Ý! |”   # Pushes | Welcome User! |
                        s  # Swap top items on stack
                         » # Join on newlines

1
Bạn có thể làm .∞thay vìû¨'(«
Emigna

Tôi biết điều này đã tồn tại bằng cách nào đó! Cảm ơn người đàn ông
Datboi

Nevermind, những gì tôi đăng là tương đương lol.
Bạch tuộc ma thuật Urn

5

Python 3, 62 byte

print(")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-(")

Cần phải là một chức năng.
juniorRubyist


3
Nhưng nó không phải là một đoạn. Đây là một chương trình đầy đủ.
hoàn toàn là

2
Không, không cần phải là một funciton. Đọc lại: Sử dụng bất kỳ chức năng hoặc ngôn ngữ để trả lời điều này.
Mauro Baraldi

2
@juniorRubyist Dòng đầu tiên của câu hỏi nóiCreate a program
dzaima

5

JavaScript, 56 byte

alert(`${s=")-*-*-*^_^*-*-*-("}
| Welcome User! |
${s}`)

JavaScript (ES6), 50 48 byte (chức năng)

_=>(s=")-*-*-*^_^*-*-*-(")+`
| Welcome User! |
`+s

-2 byte nhờ Rick Hitckcock


Tại sao alert? Lưu một vài byte bằng cách sử dụng một chức năng.
Xù xì

@Shaggy Tôi biết rằng, chỉ cần chỉnh sửa nó, nhưng hiện tại OP nói hiển thị và chưa trả lời bình luận của tôi
Stephen


4
@juniorRubyist chúng tôi thường cho phép một chương trình hoàn chỉnh hoặc một chức năng. OP đã không chỉ định rằng các hàm trả về giá trị thay vì hiển thị nó được cho phép, vì vậy hai mục nhập thứ hai của tôi có thể không được phép. Tuy nhiên, các chương trình hoàn chỉnh luôn luôn được cho phép và JavaScript không cần soạn sẵn. Sao chép của tôi alertvào một .jstệp và chạy nó trong trình duyệt của bạn, nó sẽ chạy.
Stephen

Lưu 2 byte với _=>(s=")-*-*-*^_^*-*-*-(")+\ n | Chào mừng người dùng! | \ n+s
Rick Hitchcock

4

C, 75 byte

main(){char*S=")-*-*-*^_^*-*-*-(";printf("%s\n| Welcome User! |\n%s",S,S);}

70 byte như thế này; m=")-*-*-*^_^*-*-*-(";main(){printf("%s\n| Welcome User! |\n%s",m,m);}
cleblanc



4

MATLAB / Octave, 53 byte

a=')-*-*-*^_^*-*-*-(';disp([a;'| Welcome User! |';a])

Tại sao MATLAB / Python? Đây chắc chắn không phải là con trăn hợp lệ.
DJMcMayhem

@DJMcMayhem Xin lỗi tôi có nghĩa là Octave. Cảm ơn đã chú ý đến lỗi đánh máy. Đã trả lời các câu hỏi về trăn trên SO cả ngày để não có một trục trặc nhỏ :)
rayryeng - Phục hồi Monica

Nếu bạn là dispMatlab sẽ hiển thị hàng đầu ans = \n.
Crowley

@Crowley Đó là lý do tại sao bạn cần dispở đó vì nó không phù hợp với đầu ra chính xác.
rayryeng - Phục hồi Monica

Nếu ans = không được phép, bạn có thể lưu 6 byte.
Crowley

4

Perl 5 , 49 byte

print$\=")-*-*-*^_^*-*-*-(","
| Welcome User! |
"

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

Sử dụng thực tế $\được in ngầm sau mỗi print.


Thế còn say?
simbabque

1
@simbabque Tôi có xu hướng tuân theo sự đồng thuận này . Hơn nữa, thay thế tất cả printbằng saykhông thực sự là điểm của golf nằm trong quan điểm của tôi. Nhưng tôi không có bất kỳ cuộc thập tự chinh nào để ngừng sử dụng saymặc dù; Tôi để mọi người làm theo ý mình và mọi người đều vui vẻ :)
Dada

4

Than , 32 30 byte

_^×*-³(⸿emocleW |‖B¬J¹¦¹ User!

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Giải trình:

_^              Print("_^");
×*-³            Print(Times("*-", 3));
(⸿emocleW |     Print("(\remocleW |");

In hình ảnh phản chiếu của phần trên cùng bên trái của đầu ra.

‖B¬             ReflectButterfly(:¬);

Phản xạ xuống và sang trái để tạo các đường trên cùng và dưới cùng và bên trái của đường giữa.

J¹¦¹            JumpTo(1, 1);
 User!          Print(" User!");

Sửa đường giữa.


(Tại sao downvote?)
Neil

2
Rõ ràng có ai đó đã hạ thấp nhiều câu trả lời trong thử thách này, bài dự thi của tôi cũng là một trong những câu bị ảnh hưởng.
Kritixi Lithos

3

Toán học, 52 byte

Column@{t=")-*-*-*^_^*-*-*-(","| Welcome User! |",t}

3

Golang, 82 byte

func main(){var a string=")-*-*-*^_^*-*-*-(\n";Printf(a+"| Welcome User! |\n"+a)}

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


Xin chào, và chào mừng đến với PPCG! Nội dung gửi của bạn có thể là một hàm trả về văn bản dưới dạng đầu ra, theo sự đồng thuận meta, điều này có thể làm cho nó ngắn hơn và tốt hơn cho trang web này.
Đồng chí SparklePony

À không sao, cảm ơn vì đã ngẩng cao đầu. Tôi sẽ chỉnh sửa.
ionk

Bạn phải bao gồm fmtnhập khẩu, xin lỗi.
hoàn toàn là

@totallyhuman chờ đợi nhưng nó không phải là một phần của chức năng.
ionk


3

Hàm Minecraft , 77 byte

tellraw @a {"text":")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-("}

Điều này thậm chí không cố nén chuỗi ...
Okx

2
@Okx Hãy thử làm điều đó khi những thứ không phải duy nhất bạn có thể in là số và tên khối / tên vật phẩm: p
dzaima

3

Braingolf , 55 byte

22#)[#-#*]"^_^"[#*#-]#(V"
| Welcome User! |
"R!&@v&@R&@

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

Nó ngắn hơn 2 byte so với mã hóa đầu ra.

Giải trình

22                         Push 2 2s to the stack
                             These are used for loop counting
  #)                       Push )
    [#-#*]                 Push -* 3 times, using one of the 2s
          "^_^"            Push ^_^
               [#*#-]      Push *- 3 times, using the remaining 2
                     #(    Push (
                       V   Create a new stack
                        "
| Welcome User! |
"                          Push \n| Welcome User! |\n to the new stack
 R!&@                      Return to main stack, print entire stack without popping
     v&@                   Switch to 2nd stack, pop and print stack
        R                  Return to main stack, pop and print stack


3

Mẻ, 70 byte

@SET b=@ECHO )-*-*-*^^^^_^^^^*-*-*-(
%b%
@ECHO ^| Welcome User! ^|
%b%

Tôi chủ yếu thích cái này vì tất cả các nhân vật thoát đều tạo ra biểu tượng cảm xúc ^_^ trông giống như một sự ghê tởm Lovecraft đáng yêu^^^^_^^^^


3

> <> , 56 54 byte

/a"| !resU emocleW |>"01pa
 l?!;o
/"(-*-*-*^_^*-*-*-)"

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

2 byte được lưu bởi AGourd


Trên dòng đầu tiên của bạn, bạn có thể thay đổi | "a"> "01p thành |>" 01pa để lưu một vài ký tự
AGourd

@AGourd; Ồ tôi đã bỏ lỡ điều đó, có vẻ đơn giản khi bạn chỉ ra :) - Tôi sẽ sớm chỉnh sửa nó, cảm ơn.
Teal pelican

2

V , 35 byte

é)8a-*r(ãhR^_^Äo| Welcome User! |

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

Hexdump:

00000000: e929 3861 2d2a 1b72 28e3 6852 5e5f 5e1b  .)8a-*.r(.hR^_^.
00000010: c46f 7c20 5765 6c63 6f6d 6520 5573 6572  .o| Welcome User
00000020: 2120 7c                                  ! |

Giải trình:

é)                          " Insert a '('
  8a                        " Append 8 copies of the following: 
    -*<esc>                 "   '-*'
           r(               " Replace the last character on this line with '('
             ãh             " Move to the middle of this line
               R            " And write the following text over the existing text:
                ^_^<esc>    "   '^_^'
                        Ä   " Duplicate this line
o                           " On a new line:
 | Welcome User! |          "   Write the whole middle line

2

Bình thường, 41 byte

Thật nhàm chán, nhưng tôi không thể tìm ra cách tạo )-*-*-*^_^*-*-*-(hoặc | Welcome User! |ít byte hơn là chỉ sao chép chuỗi.

J")-*-*-*^_^*-*-*-("J"| Welcome User! |"J

Explanation:
J")-*-*-*^_^*-*-*-("                      # J = ")-*-*-*^_^*-*-*-("
                    J                     # Print J with new line
                     "| Welcome User! |"  # Print "| Welcome User! |" with new line
                                        J # Print J with new line

thử trực tuyến


Tại sao bỏ phiếu xuống?
jacoblaw


2

Cà rốt , 51 byte

)-*-*-*\^_\^*-*-*-(
^*1//.+/gS"
| Welcome User! |
"

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

Giải trình

)-*-*-*\^_\^*-*-*-(
^                            Give the stack-string this value ")-*-*-*^_^*-*-*-(\n"
 *1                          Append 1 duplicate of the stack-string to itself
                             stack-string: ")-*-*-*^_^*-*-*-(\n)-*-*-*^_^*-*-*-("
//.+/g                       Get matches of /.+/g and set the stack-array to this result
                             stack-array: [")-*-*-*^_^*-*-*-(",")-*-*-*^_^*-*-*-("]
S"
| Welcome User! |
"                            Join the stack-array on "\n| Welcome User! |\n" and
                             set the stack-string to this result

Tại sao các downvote?
Kritixi Lithos


2

Vim, 38 byte

i)^[8a-*^[r(9hR^_^^[Yo| Welcome User! |^[p

Hét lên các homies trong các ý kiến

Nguyên:

i)-\*^[vhyl2pa^_^\*-^[vhyl2pa(^[Vyo| Welcome User! |^[p

Trong trường hợp ^[ESCchìa khóa


1
i)-*-*-*^_^*-*-*-(^]ngắn hơn nhiều để xây dựng dòng trên cùng. Cũng thế,Y tương đương vớiVy
DJMcMayhem

Trên thực tế, nếu bạn ít nhiều mượn câu trả lời V xây dựng dòng trên của DJ, bạn có thể tiết kiệm 2 byte cho đầu vào mã cứngi)^]8a-*^[r(9hR^_^^[
nmjcman101

Cảm ơn mọi người. Tôi đã sử dụng Vim được một tháng và tôi chỉ đang cố gắng xem liệu tôi có thể làm được không. Rõ ràng tôi có rất nhiều tối ưu hóa để thực hiện quy trình làm việc của mình
bioweasel

Một mẹo cuối cùng: Nếu sao chép dòng trước khi mở một dòng mới cho "Chào mừng người dùng!", Bạn sẽ không cần phải nhấn ^[vào cuối.YPo| Welcome User! |
DJMcMayhem

Xem? thậm chí không biết đó Plà một điều. Điều đó thật tuyệt vời. Cảm ơn!
bioweasel

2

Java 8, 62 byte

x->"".format("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n")

Hãy thử nó ở đây.

Hoặc là chương trình đầy đủ ( 110 byte ):

interface A{static void main(String[]a){System.out.printf("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n");}}

Hãy thử nó ở đây.

Ngạc nhiên là chưa có câu trả lời Java.

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.