In ký tự cuối cùng, giữa và đầu tiên của mã của bạn


60

Thách thức rất đơn giản: In ký tự cuối cùng, giữa và đầu tiên của mã nguồn chương trình của bạn, theo thứ tự đó.

Ký tự ở giữa được định nghĩa như sau, giả sử độ dài nguồn của các nký tự và lập chỉ mục 1:

  • Nếu nlà chẵn, in ký tự -th n/2n/2 + 1-th. ( abcdef == cd)
  • Nếu nlà số lẻ, (n-1)/2 + 1ký tự in -th. ( abcde == c)

Quy tắc

  • Không có đầu vào, in ký tự cuối cùng, giữa và đầu tiên trong mã nguồn của bạn, dưới dạng [last][middle][first]. Điều này sẽ dài 3-4 ký tự.
  • Đầu ra không được chứa bất kỳ khoảng trắng ở cuối. Tuy nhiên, nếu khoảng trắng là ký tự đầu tiên, giữa hoặc cuối, thì nó phải được in như vậy.
  • Mã nguồn phải n >= 3dài ký tự.
  • Mã phải bao gồm các >= 3ký tự duy nhất.
  • Sơ hở tiêu chuẩn bị cấm.
  • Đây là , vì vậy giải pháp ngắn nhất trong các nhân vật sẽ thắng.

Mẫu

# Form: [code] --> [output]
xyz --> zyx
abcd --> dbca
1 --> # not allowed: too short
abcde --> eca
aaabb --> # not allowed: not enough unique characters
System.out.print("S;pr"); --> ;prS
this is a test --> ts t
123[newline]45 --> 53[newline]1

Đề xuất thách thức


6
Có thể chỉ có tôi, nhưng "Mã phải bao gồm> = 3 ký tự duy nhất." đề nghị tất cả các ký tự của chương trình phải là duy nhất, trong khi bạn chỉ yêu cầu có ít nhất 3 ký tự riêng biệt.
Grzegorz Oledzki

4
@Belhenix Ít hơn ba ký tự duy nhất cho phép các giải pháp đơn giản như 121đối với nhiều ngôn ngữ.
Khuldraeseth na'Barya

2
Nếu bất cứ ai cũng có thể tìm thấy một ngôn ngữ dựa trên ngăn xếp sử dụng -cho phủ định và in ngầm với một nguồn cấp dữ liệu, thì đó \n1-là một ngôn ngữ ba lần. Tìm kiếm của tôi cho đến nay là không có kết quả.
Khuldraeseth na'Barya

3
@Belhenix Whitespace chắc chắn là có thể, nó có đủ các ký tự hợp lệ duy nhất (dấu cách, đường dẫn, tab).
bigyihsuan

2
Không thể thay đổi ngay bây giờ với 58 câu trả lời, nhưng yêu cầu "chữ cái mã đầu tiên phải khác với chữ cái mã cuối cùng" sẽ loại trừ rất nhiều câu trả lời tầm thường, bao gồm cả câu trả lời hàng đầu hiện tại. Đó có thể là mục đích của "> = 3 ký tự duy nhất", nhưng yêu cầu đó thực sự không khó lắm.
manassehkatz

Câu trả lời:


171

JavaScript, 9 7 byte

N=>a=-N

Đầu ra: NaN

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


4
Rất thông minh. Đây là chiến thuật tôi đã cố gắng thực hiện, nhưng không thể vấp phải một ngôn ngữ có đầu ra lỗi đủ.
ngerak

49
Đây là một trong những câu trả lời Javascript hay nhất tôi từng thấy ở đây
Daniel

21

Cỏ , 17 byte

wWWwwwVVwWWwWWWww

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

-2 byte nhờ vào jimmy23013.

Đầu ra www. Grass bỏ qua tất cả các nhân vật ngoài w, Wv. Hai Vs do đó bị bỏ qua; họ ở đó để đảm bảo nhân vật ở giữa là w- Tôi không biết làm thế nào để xuất vhoặc Wtrong Grass, tôi có thể đã sử dụng một ký tự khác thay thế V, nhưng Vvẫn giữ được tính thẩm mỹ của mã.


1
" May mắn thay, nhân vật trung gian cuối cùng đã trở thành aw và không phải là W hay W - Tôi không biết làm thế nào để xuất v hoặc W trong Grass Pass " Lol. xD Tôi đã cố gắng làm một cái gì đó tương tự trong Whitespace chỉ có ba ký tự (dấu cách, tab, dòng mới), nhưng thật không may, tôi đã không may mắn như vậy. Tuy nhiên, may mắn thay tôi có thể chỉ cần thêm một loạt các no-op để sửa nó.
Kevin Cruijssen

@KevinCruijssen Nếu nhân vật ở giữa là bất cứ thứ gì khác, có lẽ tôi đã thêm vào giữa một bó xs (hoặc bất kỳ nhân vật không phải Cỏ nào khác, mà Grass bỏ qua) để di chuyển wvào đúng vị trí.
Robin Ryder

À, tôi là một thằng ngốc .. Tôi có thể chèn một ký tự không phải khoảng trắng mà Whitespace sẽ bỏ qua. ;) -2 byte nhờ bạn.
Kevin Cruijssen

1
17 byte :wWWwww  wWWwWWWww
jimmy23013

@ jimmy23013 Cảm ơn! Và cảm ơn vì đã đăng mẹo của bạn ; Tôi cần nó để hiểu những gì bạn đã làm! Tôi đã thay đổi không gian thành Vs vì tôi thấy nó đẹp hơn. ;-)
Robin Ryder

17

Brainfuck , 17 byte

U-[>+<-UU--]>...U

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

Với unprintables, điều này có thể giảm xuống còn 7 byte: ␀..␀_.␀


1
Trong các quy tắc, nhưng BF không sử dụng Unhư một hướng dẫn. Về mặt chức năng, mã là -[>+<---]>., do đó, đầu ra dự kiến ​​sẽ là .--, mà nó không xuất ra.
bigyihsuan

16
@bigyihsuan nhưng mã nguồn vẫn chứa Us và trình thông dịch này vui vẻ bỏ qua chúng. Có nên tính mọi câu trả lời có bình luận hoặc nhiều khoảng trắng (hoặc bất cứ điều gì khác không quan trọng đối với ngôn ngữ) không?
dzaima

1
Có nên không U-[>+<-UU--]>...U? Ở dạng hiện tại, mã chỉ hiển thị một U
Helena

1
@Flater Có, ở đây chúng được sử dụng để làm cho thử thách dễ dàng hơn, nhưng đó không phải là toàn bộ mục đích của thẻ golf-code sao? Nhiều câu trả lời ở đây một mình làm cho công việc của họ dễ dàng hơn bằng cách thêm khoảng trắng hàng đầu / dấu và nói chung trong môn đánh gôn ở đây, mọi quy tắc đều được cho phép (và nếu tôi phải đoán, nếu có một quy tắc không cho phép các ký tự không được sử dụng (xác định một cách khách quan sẽ đã là khá nhiều không thể) có nghĩa là thách thức có thể vẫn đang lơ lửng ở 0 điểm, và có lẽ cũng bị đóng lại).
dzaima

2
Tại sao bạn không sử dụng đơn giản ÿ-.ÿ..ÿ? Đó là bản in và ngắn.
Dorian

17

Ngôn ngữ lập trình Shakespeare , 119 byte

 ,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]
Ajax:  You big big big big big cat.Speak thy.Speak thy.Speak thy. 

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

In ba dấu cách. Không có không gian in:

Ngôn ngữ lập trình Shakespeare , 227 byte

,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is the sum of a big big big big big big cat a big pig.
You is the sum of you a large huge large big pig.
Speak thy.Speak thy.You is the sum of you a big pig.Speak thy.

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

Giống như câu trả lời INTERCAL không có dòng mới của tôi, câu hỏi này được xây dựng để làm cho ký tự cuối cùng của chương trình giống với ký tự giữa (mặc dù trong trường hợp này nó không phải là ký tự đầu tiên), bằng cách bỏ chơi nửa sau của mã cho đến khi chúng trận đấu. (Tôi không chắc liệu tôi có thể xây dựng 46 trong ít byte hơn hay không, hoặc liệu tôi có thể đánh gôn các phần khác của nửa đầu nữa không.)


2
Tôi không mong đợi Shakespeare sẽ xuất hiện cho điều này. Điều này thật tuyệt
bigyihsuan

1
Ước gì tôi có thể +1 chỉ để học ngôn ngữ này tồn tại!
Stilez

1
ngay cả trong các thông báo đầu ra gỡ lỗi của trình thông dịch trực tuyến, khiếu hài hước của các tác giả cho thấy: Cảnh báo ở dòng 2: 'tâm trí' được mong đợi
dlatikay

1
163 byte cho phiên bản thứ hai bằng cách kết thúc bằng một!
Robin Ryder

1
@UnrelatedString OK, cảm ơn! Xong rồi .
Robin Ryder

14

Python 2 , 13 11 byte


print' t' 

Để làm cho khoảng trắng rõ ràng:

$ xxd solution.py
0000000: 0a70 7269 6e74 2720 7427 20           .print' t'
$ python2 solution.py | xxd
0000000: 2074 0a                                t.

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

-2 byte, nhờ lãng phí!


6
Cả hai khoảng trắng đầu ra (dòng mới), không được phép. Python 2 thay thế: Hãy thử trực tuyến!
lãng phí

Ngoài ra, tôi không nghĩ rằng điều này là hợp lệ: Python yêu cầu bạn phải có một dòng mới trống ở cuối mã của bạn.
Geza Kerecsenyi

5
@GezaKerecsenyi Theo tôi hiểu, một dòng mới ở cuối mã nguồn chỉ là một khuyến nghị. Xem PEP8.
mypetlion


@wastl Cảm ơn! Đã sửa.
TFeld

11

RProgN 2 , 3 byte

1
0

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

Tôi nghĩ điều này là hợp lệ?


Tôi đoán 10được đẩy lên một chồng, sau đó là một bản in pop ẩn ở cuối chương trình? Vâng, nó hợp lệ
bigyihsuan

2
@bigyihsuan đó là những gì tôi đoán quá; Tôi không biết ngôn ngữ này, tôi chỉ nhớ nó làm những thứ như thế này: p
dzaima

@dzaima Haha, khi bạn đăng câu trả lời và bạn thậm chí không biết nó hoạt động như thế nào. xD Tôi thực sự đã thấy RProgN một vài lần trước đây với những [quine]thách thức cũ , trước khi các quy tắc quine được thay đổi.
Kevin Cruijssen

Tôi tin rằng đây là polyglot trong tacLinux.
tsh

11

05AB1E , 7 5 byte


„ RR

Đầu ra R \n.

-2 byte bằng cách lấy cảm hứng từ câu trả lời Batch của @Neil , vì vậy hãy đảm bảo nâng cao anh ấy!

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

5 byte thay thế bởi @Grimy :


12,1

Đầu ra 12\n.

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

Câu trả lời ban đầu 7 byte :

'?„«'«?

Đầu ra ?«'.

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

Giải trình:

          # No-op newline
 R       # Push 2-char string " R"
   R      # Reverse this string to "R "
          # (output the result implicitly with trailing newline)

          # No-op newline
12,       # Print 12 with trailing newline
   1      # Push a 1 (no implicit printing, since we already did an explicit print)

'?       '# Push 1-char string "?"
  „«'    '# Push 2-char string "«'"
     «    # Concatenate them both together
      ?   # Output without trailing newline


8

PHP , 9 byte

<?=";;<";

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


3
Trên thực tế, vì PHP xuất mã dưới dạng văn bản cho đến <?thẻ đầu tiên , bạn có thể sử dụng một trong các giải pháp 4 byte tầm thường như 1231- bất cứ thứ gì không có ký tự đặc biệt như đầu tiên và cuối cùng, bất kỳ 2 ký tự nào khác ở giữa. Câu trả lời của bạn có thể là câu trả lời PHP ngắn nhất .
manassehkatz


7

Excel, 9 byte

=("))=" )

Rất nhiều dấu ngoặc đơn.

Lưu ý: Ký tự giữa được trả về thực sự có thể là bất kỳ ký tự nào vì đó là giữa mã.


Dấu ngoặc đơn! (Lightbulb) Tôi đã bị mắc kẹt với nhân vật cuối cùng cần phải có ". Làm tốt!
Wernisch

Cảm ơn! Đó là điều mà tôi đang cố gắng tìm ra, và rồi tôi nhớ rằng dấu ngoặc đơn sẽ hoạt động.
porter william

6

Ruby , 6 byte


p " "

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

Kết quả này " "cộng với một dòng mới. Mã kết thúc bằng một ", hai ký tự ở giữa ", và nó bắt đầu bằng một dòng mới.


3
Tôi thích huy hiệu của bạn, tôi tin rằng đó là một xor thang độ xám trên N². Tôi đã tạo ra gần như cùng một bức tranh để giúp tôi giải quyết vấn đề Project Euler Nim. Huy hiệu của bạn có một câu chuyện?
Damien

1
Bắt tốt đẹp! Tôi chỉ thích "vẽ nguệch ngoạc" trong các cuộc họp bằng cách tạo ảnh bằng cách sử dụng một lớp; xor là một yêu thích sớm.
lịch sử

6

Ngôn ngữ hàng loạt DOS / Windows, 9 byte

@echo @o@

Chào mừng bạn đến với Code Golf & Mã hóa Thử thách trao đổi Stack, +1 cho bài đăng đầu tiên hay!
A _


5

Mẻ, 9 ký tự


@echo hh

Ký tự giữa và cuối cùng là cả hai h, và sau đó echoin một dòng mới theo mặc định, đó là ký tự đầu tiên của tập lệnh.


5

PowerShell, 3 byte

00000000: 0a0d 31                                  ..1

Chỉ hoạt động trong Microsoft Windows.

Không may là đầu ra 8 byte trong UTF-16. Nhưng câu hỏi cho biết xuất ra các ký tự chứ không phải các byte. Có thể cho rằng UTF-16 chỉ là một trong những cách được hỗ trợ để thể hiện các ký tự trong PowerShell. Chúng không được giải thích khác với tệp ASCII.


đó là câu trả lời thông minh
mazzy

1
được phép vì 0x0a != 0x0d != 0x31:)
bigyihsuan

5

Bash ( 15 11 ký tự)

echo -n e-e

in ra

e-e
  • -4 ký tự bằng cách không sử dụng |rev

1
@racraman Chỉnh sửa đề xuất của echo<space>e<space><space>ebạn sẽ e<space>e<newline>thay thế e<space>e, vì vậy tôi đã từ chối nó. Dòng mới là một phần của đầu ra, đó là lý do tại sao GrzegorzOledzki đang sử dụng -ntùy chọn này. Thử echo -n e-etrực tuyến vs Thử echo e etrực tuyến . Và một lần nữa, xin vui lòng không chỉnh sửa câu trả lời của người khác. Nếu bạn có một sân golf để đề nghị, hãy để lại nhận xét.
Kevin Cruijssen

cũng có 11 byte với printf pfp, nhưng chỉ vì chúng ta cần hai khoảng trắng do định nghĩa của ký tự giữa, nếu không nó sẽ là 10 ...
pLumo

5

ArnoldC , 61 byte

IT'S SHOWTIME
TALK TO THE HAND "D I"
YOU HAVE BEEN TERMINATED

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

Câu trả lời tầm thường trong ArnoldC. Byte thứ 31 là khoảng trắng ngay trước chuỗi ký tự.


5

Dưới tải , 9 byte 7 byte

Cảm ơn Khuldraeseth na'Barya cho giải pháp cải tiến!

W(SSW)S

Như tôi có thể nói, điều này bây giờ không thể chứng minh được vì:

  • Ký tự đầu tiên phải là ký tự không hoạt động, vì mọi lệnh khác đều phát sinh lỗi do ngăn xếp trống, ngoại trừ là dấu ngoặc mở. Tuy nhiên, không thể vì không có cách nào để tạo ra một khung mở trên chính nó trong Underload.
  • Bạn cần sử dụng ít nhất 5 ký tự để thêm 3 ký tự đầu ra vào ngăn xếp.
  • Bạn cần sử dụng S để xuất nó.

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


Chào mừng bạn đến với Code Golf SE! Bạn có thể lưu một vài byte bằng cách bỏ qua bản sao, như vậy .
Khuldraeseth na'Barya

5

Ngôn ngữ lập trình Shakespeare , 163 153 byte

-10 byte nhờ Jo King.

B,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is
the sum ofa Big Big Big BIG BIG cat a
CAT.Speak thy.You is twice you.Speak thy!SPEAK THY!

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

Câu trả lời SPL đầu tiên của tôi! Đầu ra !BB.

một câu trả lời SPL khác bởi Chuỗi không liên quan; trong câu trả lời đó, chúng chỉ xuất ra các khoảng trắng ở 119 byte hoặc xuất ra các ký tự không phải khoảng trắng ở 227 byte. Cái này ở giữa và cũng xuất ra các ký tự không phải không gian.

Hai thủ thuật được sử dụng ở đây:

  1. !.!25+1.
  2. Nhân đôi 33 cho 66, điểm mã của B, do đó, tiêu đề chơi là Bvà tôi cần "lớn" thứ hai là "Lớn", hoạt động vì SPL không phân biệt chữ hoa chữ thường.

Vì tôi cần số vốn đó Bvà dấu chấm than ở cuối, tôi quyết định để Ajax hét to hơn và to hơn qua cảnh đó.


4

CJam , 7 byte

'@'' _@

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


4
Khá chắc chắn 0 1 0là ngắn hơn và cũng có ba ký tự riêng biệt (tôi không muốn đăng lại cách tiếp cận Jelly của mình: P).
Erik the Outgolfer

1
@EriktheOutgolfer Mặc dù vậy!. Nhưng đó cũng giống như câu trả lời của bạn nên tôi sẽ để nguyên như vậy
Luis Mendo

2
Vâng, đó là lý do tại sao tôi nhận xét, không thực sự muốn đăng điều tương tự hai lần. (Hừm ... đây có thể là giải pháp tối ưu cho nhiều ngôn ngữ.) Dù sao đi nữa, ngôn ngữ của bạn cũng có thể được áp dụng ở nơi khác!
Erik the Outgolfer

4

Befunge-93 , 7 byte

.",  @0

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

Giải trình

Đầu ra là 0 .

.       pop value (0) from stack, output as number with a trailing space
 "      toggle string mode, wraps around and pushes every char to the stack
  ,     pop value (".") from stack, output as character 
        spaces are no-ops
     @  end the program
      0 trailing 0 to match the output

4

APL (Dyalog Unicode) , 5 4 byte

Chương trình đầy đủ.

Giải pháp nhàm chán từ J.Sallé:

1231

In số đó. Một giải pháp thú vị hơn nhiều:

010E1

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

APL bỏ qua các số 0 đứng đầu, vì vậy đây chỉ là định dạng tỷ lệ đơn giản cho 10 × 10¹ = 100.


4

Đầu bếp , 447 byte

Last Middle First Milkshake.

This recipe prints its last, middle and first character.
You could also use it to make a milkshake. 

Ingredients.
76 ml milk
32 ml chocolate syrup
46 teaspoons vanilla ice cream

Method.
Liquefy vanilla ice cream.
Put the milk into 1st mixing bowl.
Put the chocolate syrup into 1st mixing bowl.
Put the vanilla ice cream into 1st mixing bowl.
Pour contents of the 1st mixing bowl into the 1st baking dish.

Serves 1.

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

Một đệ trình nghiêm túc, 196 177 byte

cảm ơn A__

R.

Ingredients.
82 l a
103 l b
46 l c

Method.
Put a into mixing bowl.
Put b into mixing bowl.
Put c into mixing bowl.
Pour contents of mixing bowl into baking dish.

Serves 1.

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


Xem các chương trình Chef khiến tôi tự hỏi đâu là mức tối thiểu cho nó.
bigyihsuan

@bigyihsuan xem bản chỉnh sửa của tôi
user24343

Bạn có thể xóa tất cả "the" và làm cho chương trình vẫn hoạt động .
A _

Tôi đã tạo ra một chương trình làm việc. (177 byte)
A _

4

Python 3, 19 byte 13 byte


print( ')(')

Chức năng in sẽ nối thêm một dòng mới theo mặc định để mã bắt đầu bằng một dòng mới. Ký tự cuối cùng của mã là ")" do đó được in trước. Để làm cho số lượng ký tự không đồng đều, một khoảng trắng được chèn trước đối số của chức năng in. Xin thứ lỗi cho sự mặn mà của mật mã.

Đầu ra: )(\n

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


1
Tùy thuộc vào cách các quy tắc hoạt động, tôi có thể có 13 byte chơi với câu trả lời của bạn: `print (") (")` Lưu ý có một dòng mới ở trên printvà một khoảng trắng bên trong printsau ")(". Đầu ra: )( với một dòng mới ở cuối.
Hoog

Cảm ơn, xuống tới 13 byte! Vì câu hỏi đề cập cụ thể đến các khoảng trắng nhưng không phải là dòng mới, tôi sẽ giả sử các dòng mới, như là endtham số mặc định của chức năng in, không được tính.
jaaq

Điều này in một dòng mới nhưng không tính đến nó.
A _

Không chắc chắn nếu dòng mới được tính là khoảng trắng nhưng tôi đã thêm phiên bản thứ 2 cũng 13 byte.
jaaq

1
Có, dòng mới được tính là khoảng trắng, giống như các tab và khoảng trắng giữa những người khác
Jo King

4

Khoảng trắng , 31 29 byte

[S aS S T   S S S S S N
_Push_32][S N
S _Duplicate_32][S N
S _Duplicate_32][T  N
S S _Print_as_character][T  N
S S _Print_as_character][T  N
S S _Print_as_character]

-2 byte nhờ @RobinRyder .

Chữ cái S(dấu cách), T(tab) và N(dòng mới) được thêm vào dưới dạng chỉ tô sáng.
[..._some_action]chỉ thêm vào giải thích.

Dùng thử trực tuyến (chỉ có khoảng trắng, tab và dòng mới).

Chứa một no-op a(có thể là bất kỳ ký tự không phải khoảng trắng nào) để tạo độ dài lẻ. Nó được thêm vào trước nửa đầu của chương trình, do đó, ký tự giữa cũng là một khoảng trắng, vì ký tự giữa sẽ trở thành một dòng mới nếu nó ở nửa thứ hai của chương trình. Tất cả các ký tự không phải khoảng trắng được bỏ qua trong các chương trình Whitespace.



3

MathGolf , 5 4 byte

1231

-1 byte bằng cách sử dụng giải pháp tầm thường được trình bày bởi @ErikTheOutgolfer trong câu trả lời Jelly của anh ấy , hoạt động cho bất kỳ ngôn ngữ nào có đầu ra ngầm mà không theo dõi dòng mới.

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

Câu trả lời gốc 5 byte :

ùù xx

Đầu ra x ù.

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

Giải trình:

ùù x   # Push 3-char string "ù x"
    x  # Reverse it to "x ù"
       # (output the entire string joined together implicitly without trailing newline)

3

Brain-Flak , 11 byte

(((())))

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

Giải trình

Chúng ta cần đặt 3 thứ lên ngăn xếp. Cách nhanh nhất để làm điều đó là đặt 3 1 (hoặc số không) vào ngăn xếp. Bây giờ vì (mã điểm 1) không có gì trong Brain-Flak, chúng tôi có thể thêm chúng vào chương trình ở vị trí giữa và cuối cùng. Bây giờ điều này cảm thấy một chút gian lận vì vậy đây là hai câu trả lời ít gian lận hơn theo ý kiến ​​của tôi.

In dấu ngoặc, 31 byte

( (((((()()()()()){}){}){}))())

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

Câu trả lời này in dấu ngoặc sao cho các ký tự được in thực sự có liên quan đến mã, nó có một ký tự đệm để tạo độ dài lẻ nên chúng ta chỉ phải in 1 ký tự ở giữa.

Chỉ chứa dấu ngoặc nhọn, 32 byte

(((()((((()(()()){}){}){}){}))))

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

Đây là một niềng răng chỉ lập trình cả nguồn và (do đó) đầu ra được tạo thành hoàn toàn từ niềng răng (nhân vật Brain-Flak thực sự quan tâm).


3

AsciiDots - 9 byte

.---$'.$.

Đầu ra: .$.

Mã bắt đầu bằng a ., kết thúc bằng a .và ký tự giữa là a $. Trích dẫn duy nhất ở giữa đặt chế độ in dấu chấm để chỉ cần đọc các ký tự thẳng vào luồng đầu ra.

Có thể điều này có thể được làm nhỏ hơn, nhưng tôi bắt đầu nghi ngờ rằng nó có thể. Để in ba ký tự, phải sử dụng trích dẫn đơn, vì trích dẫn kép sẽ yêu cầu kết thúc chuỗi để xuất. Tuy nhiên, điều này có nghĩa là trích dẫn duy nhất có a) được theo sau bởi ba ký tự và b) không thể là ký tự trung tâm. Để giảm xuống còn bảy byte, tôi đã cân nhắc thử sử dụng lại dấu chấm bắt đầu như một trong các ký tự được in (giống như chương trình quine của AsciiDot). Tuy nhiên, tôi thấy rằng trình tự ngắn nhất có sẵn để in là($'mà sẽ phải in bốn ký tự trong không gian của ba hoặc ba ký tự trong không gian của bốn. Tôi cũng đã thử một số phương pháp thay thế hacky như cố gắng in giá trị của dấu chấm (là 0) dưới dạng một trong các ký tự. Mặc dù có thể có một số hệ thống hoạt động, tôi đã thấy chúng khá phức tạp và lớn. Vì vậy, tôi nghĩ rằng ở trên là giải pháp nhỏ nhất. (Tôi sẽ cập nhật nếu tôi tìm thấy một cái gì đó nhỏ hơn)


Chào mừng bạn đến với Code Golf SE! Tôi đã loay hoay với điều này trong vài phút và đi đến kết luận giống như bạn đã làm. Bài đăng đầu tiên rất hay!
Khuldraeseth na'Barya

1
9 byte thay thế - /'$'-.[newline]\.Hãy thử trực tuyến!
Alion

3

MATLAB, 13 15 byte

disp(  ') d')

Đầu ra ) d

Phiên bản trước (15 byte, đầu ra ít nghiêm ngặt hơn):

'''';1;''''''''

Đầu ra '''


Tôi thấy bây giờ, bây giờ lo lắng.
Phù thủy lúa mì

Không đầu ra này dấu vết khoảng trắng?
Sanchise

@Sanchises không, kích thước (ans) == 3
18 tháng 10 là ngày im lặng vào ngày

Có, nhưng sản lượng thực tế là ans =\n '''\n. Thông thường đó không phải là vấn đề nhưng thách thức này dường như đặt ra một tiêu chuẩn chặt chẽ hơn. Nhưng sau đó tôi có thể giải thích sai thách thức.
Sanchise

@Sanchise hm, tôi hiểu rồi. Tôi có thể hiểu nhầm những gì codegolf coi là "đầu ra" sau đó, đầu ra của bạn có vẻ đúng là đầu ra, được định dạng bởi MATLAB
ngày 18 tháng 10 là ngày im lặng vào ngày
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.