In ký tự đầu tiên của các câu trả lời trước


17

Người chiến thắng được chấp nhận là isaacg, với câu trả lời ASCII 7 bit của mình . Tuy nhiên, thách thức vẫn chưa kết thúc - tiền thưởng này được trao cho câu trả lời ngắn nhất. Nếu, bằng cách nào đó , bạn nhận được tất cả các ký tự đầu tiên của tất cả các câu trả lời khác thành 10 byte, bạn sẽ giành được tiền thưởng. Điều này bao gồm tất cả các ký tự từ câu trả lời GolfScript của Vòng 2 (cộng với câu trả lời được thêm bởi chính câu trả lời đó). Đây là MỘT lần tôi sẽ cho phép bạn ra khỏi trật tự - nếu bạn có bất kỳ phản đối nào về điều này, hãy cho tôi biết trong các ý kiến.

Tôi muốn cung cấp tín dụng cho Randomra, người đã giúp tôi với ý tưởng cũ của tôi và đưa cho tôi ý tưởng mới này.

Người chiến thắng trước

  • Vòng 1: isaacg, với ASCII 7 bit
    Next bytes: 30 (or 10 if you want that sweet, sweet rep)
    Bạn biết đấy, chơi golf mã thực sự rất tuyệt. Mọi người tham gia một thử thách, và nó dần trở nên nhỏ hơn! Nhưng hãy làm theo cách khác. Vì vậy, đây là thách thức của tôi:

  • Mã sẽ in ký tự đầu tiên của tất cả các câu trả lời trước theo thứ tự chúng được đăng (câu trả lời đầu tiên không in gì)

  • Mã bắt đầu ở mức 100 byte và giảm 5 lần mỗi lần.
  • Nếu hai bài đăng có cùng một câu trả lời (nghĩa là cả hai bài đăng trong vòng vài giây với nhau), bài đăng mới hơn phải thêm ký tự cũ và giảm 5 byte (thậm chí vài giây).
  • Bất kỳ ngôn ngữ có thể được sử dụng.
  • Mã của bạn không được tạo ra bất kỳ lỗi nào.
  • Mã của bạn phải sử dụng tất cả các byte cần thiết cho bước đầu tiên.
  • Mã của bạn phải in ra STDOUT.
  • Các ký tự không in được là OK, nhưng:
    • Họ không thể là nhân vật đầu tiên (vì mục đích của câu hỏi này)
    • Bạn phải cho mọi người biết họ đang ở đâu
  • Bạn có thể đăng nhiều câu trả lời, nhưng:
    • Bạn phải đợi 2 câu trả lời trước khi đăng một câu trả lời khác (vì vậy nếu bạn đã đăng 100 byte, bạn phải đợi đến 85 byte.)
  • Bạn không thể:
    • sử dụng hơn 10 byte ý kiến
    • có các biến không được sử dụng cho toàn bộ chương trình
    • điền vào chương trình với khoảng trắng
    • có tên biến dài hơn 10 byte (nhưng bạn có thể có nhiều biến nhỏ hơn 10 byte)
      (câu trả lời đầu tiên của EMBLEM là ngoại lệ đối với các quy tắc này, vì nó đã được đăng trước những hạn chế này.)
  • Không có sơ hở tiêu chuẩn. Trừ khi bạn muốn đưa tất cả những niềm vui ra khỏi thử thách.
  • Khi không có thêm câu trả lời nào trong 3 tuần, câu trả lời sử dụng ít byte nhất sẽ thắng. (Trong trường hợp hòa, người nào in chuỗi dài hơn sẽ thắng.)

Ví dụ: Câu trả lời thứ ba phải là mã dài 90 byte xuất ra hai ký tự (char đầu tiên của mã 100 byte sau đó là char đầu tiên của mã 95 byte). Câu trả lời đầu tiên không có kết quả gì (không có câu trả lời trước để nhận ký tự từ).


"Khoảng trắng không cần thiết" là từ ngữ xấu. Khoảng trắng của Python để kết thúc câu lệnh là không cần thiết, bởi vì bạn có thể sử dụng dấu chấm phẩy.
EMBLEM

8
Có lẽ, chúng ta có thể bắt đầu lại ở 100 byte, nhưng bắt đầu bằng ppuppPq([#fwSmdP[chuỗi bắt đầu và khởi động lại mỗi lần chuỗi dài hơn chuỗi byte cho phép. Tuy nhiên, tôi không thể nghĩ ra một tiêu chí chiến thắng.
Sanchise

1
@Scimonster Bạn thành thật nghĩ rằng có một bộ ký tự 4 bit bao gồm tất cả #(PS[dfmpquw? Chúng ta đang chạy vào giới hạn của mật độ thông tin ở đây. Trừ khi bạn viết chương trình 10 byte xử lý tất cả các câu trả lời trước đó. Không chắc chắn nếu điều đó đáng để chờ đợi.
Sanchise

2
@sanchises Chúng tôi không nói có một. Chúng tôi đang cho mọi người cơ hội để xem những gì họ có thể làm. Nếu không ai có thể, chúng tôi sẽ khởi động lại nó.
ASCIIThenANSI

6
-1 Tại sao thử thách này không chết với phẩm giá sau giải pháp 15 byte? Có vẻ không lịch sự khi thay đổi nó sau khi một câu trả lời "chiến thắng" tốt đã được đưa ra chỉ để bạn có thể tiếp tục chơi theo các quy tắc khác nhau.
Geobits

Câu trả lời:


34

ASCII 7 bit, 15 byte

Cập nhật: Tôi đã không nhận ra rằng đệm nên xảy ra vào cuối.

Phiên bản chính xác, được đệm ở cuối:

hexdump (xxd):

0000000: e1c3 af0e 1438 a8b6 8f37 7a7b 7250 b6    .....8...7z{rP.

Bản in (không chắc cái nào đúng):

�ï8��z{rP�

áï8¨¶7z{rP¶

Phiên bản cũ, đệm không chính xác ở phía trước:

pá×
T[G½=¹([

Ngôn ngữ / định dạng ở đây là ascii 7 bit, trong đó mỗi nhóm 7 bit tương ứng với một ký tự ASCII. Nó được sử dụng trong việc truyền dữ liệu SMS. Một bộ giải mã được đặt ở đây.

Không có phán quyết được chấp nhận rộng rãi về việc liệu câu trả lời cho các câu hỏi đầu ra cố định không được viết bằng ngôn ngữ lập trình có được phép hay không. Xem bài đăng meta này để biết thêm thông tin. (Tôi xin lỗi, tôi đã đọc sai bài đăng đó trước đó.)


2
Xin chúc mừng! Bạn là người duy nhất tôi từng thấy để nén một chuỗi dài hơn mã mà nó được đưa vào! : D
ASCIIThenANSI

@ASCIIThenANSI Nén một chuỗi thành một chương trình ngắn hơn thật dễ dàng. Chương trình Python print('A'*100)in một chuỗi 100 A's. Nén một chuỗi ngẫu nhiên hiệu quả là không dễ dàng.
Sở thích của Calvin

6
@ Calvin'sHob sở thích Điều này sẽ dễ dàng hơn nếu tất cả chúng ta chỉ bắt đầu tất cả mã của mình bằng chữ 'p'. : D
ASCIIThenANSI

4
-1 Tôi nên xem xét điều này sớm hơn ... Điều này dường như được mã hóa không chính xác. Có vẻ như bạn bắt đầu với một chút phần đệm, nhưng từ những gì tôi có thể nói từ định dạng (và câu trả lời này đã kéo dài định nghĩa của định dạng, vì ASCII 7 bit được đóng gói thực sự không được sử dụng ở bất cứ đâu), dữ liệu nên được đệm ở cuối, không phải là bắt đầu. Và ngay cả với phần đệm, tôi nghĩ phần còn lại không được mã hóa chính xác.
Runer112

1
Nó phải là "á <SO><DC4>8¨¶7z {rP¶".
LegionMammal978

25

Phần tử, 80 byte

programs do many fun things, like print the letters p`, p`, u`, and p` in a row.

Đây là một ngôn ngữ tôi đã tạo ra hơn ba năm trước. Bạn có thể tìm thấy một thông dịch viên, viết bằng Perl, ở đây . Các `nhà điều hành in điều đầu trên stack (các chữ cái). Các dấu câu khác không làm công cụ, như nối, nhưng kết quả không bao giờ được in.


1
Rất thông minh, thưa ngài. Rất thông minh ...
ASCIIThenANSI

10

Clip , 20 byte

[M"ppuppPq([#fwSmdP"

6
Tôi nghĩ bạn là người cuối cùng đứng. Trừ khi ai đó có thể nén ppuppPq([#fwSmdP[trong 15 byte VÀ xuất nó.
Sanchise

@sanchises Nếu có ai làm, tôi sẽ thưởng một khoản tiền thưởng. Bởi vì nó sẽ tốt như vậy.
ASCIIThenANSI

3
@sanchises Nếu chỉ có một số ngôn ngữ bí truyền xuất ra chương trình với tất cả các lần xuất hiện pthay thế bằng pp. Sau đó, một giải pháp sẽ được pupPq([#fwSmdP[.
bcsb1001

1
@ bcsb1001 Vâng, tôi đã nghĩ về một cái gì đó như thế gần đây; một ngôn ngữ bí truyền trong đó mỗi lệnh là một giải pháp thách thức chiến thắng trên trang web này và sử dụng đầu ra của lệnh đó làm đầu vào cho lệnh tiếp theo. Sẽ thật tuyệt vời nếu ai đó có thể lập trình bất cứ điều gì trong đó.
Sanchise

1
@sanchises Nhưng điều đó có phá vỡ quy tắc kẽ hở tiêu chuẩn bằng cách ra internet không?
ASCIIThenANSI

5

Lisp thông thường, 65 byte

(print(map 'string #' code-char #(112 112 117 112 #x70 80 #x71)))

112 cuối cùng nên được thay đổi thành 80 (bằng cách nào đó).
LegionMammal978

12
Với câu trả lời này, một thời đại của bóng tối đã được mở ra.
PhiNotPi


4

Python 3, 95 byte

pre='public class f{public static void main(String[] a){System.out.print("");}}'
print(pre[0])


4

Đã 24 giờ kể từ khi chỉnh sửa! Làm thôi nào! : D

Java, Vòng 2, 100 byte

public class Bytes{public static void main(String[] args){System.out.print("ppuppPq([#fwSmdP[p");}}

1
How about marking this "Round 2"?
Claudiu

4

Round 2: Ruby, 75 bytes

"ppuppPq([#fwSmdP[ppnvos".chars.each do|character|;print character;end#4444

I thought I'd make it a little more challenging by starting my answer with a quote! >:D


3

Java, 100 bytes

public class f{public static void main(String[] a){System.out.print("");}}//createdbyEMBLEMasdfghjkl

3

Mathematica, 75 bytes

Print[StringJoin[First/@Characters/@{"publ","pre=","usin","p1 =","prog"}]];


3

F# script, 40 bytes

System.Console.Write "\u0070puppPq([#fw"

It has its own file type (.fsx), so I'm pretty sure that it counts as a language.


1
Bạn đã quên 'w' từ Scratch.
ASCIIThenANSI

Tôi nghĩ rằng điều này cũng thiếu 'f' từ câu trả lời javascript 50 byte.
user19057

Đã sửa lỗi đó
LegionMammal978

3

Vòng 2: /// , 65 byte

\p/CodeGolfIsAwesome!/puppPq/CodeGolfIsAwesome!([#fwSmdP[ppnvos"R

Nghĩ rằng tôi sẽ thêm gia vị thêm một chút với dấu gạch chéo ngược :)


2

C #, 90 byte

using System;namespace IAmAwesome{class Program{static void Main(){Console.Write("pp");}}}

2

Ruby, 70 bytes

q = ["publ", "pre", "usi", "p1 ", "pro", "Pri"]
q.each{|s| print s[0]}

You'd have to rearrange it to ["publ", "pre", "usi", "p1 ", "pro", "Pri"].
LegionMammal978



2

MATLAB, 30 bytes

disp([112 112 'uppPq([#fwSm'])

Nicely shows how loose MATLAB goes about with data types.


2

Mathematica, 25 bytes

Print["ppuppPq([#fwSmd"];

1
I had a novel 25-byte CJam solution that encoded the string in a non-straightforward way. Unfortunately, it looks like it'll never see the light of day. :-/
Runer112

@Runer112 You and all your little rhymes / Still, I had this answer ~20 seconds before the 30-byte one chimed.
LegionMammal978

2

Vòng 2: Batch, 70 byte

REM BATCHS
GOTO B
:C
ECHO ppuppPq([#fwSmdP[ppnvos"
GOTO A
:B
GOTO C
:A

Câu nói của bạn là vô ích. Đ:>

Chỉnh sửa: điều đó xảy ra với tôi rằng tôi đang đi theo kích thước tệp thay vì đếm ký tự, không chắc cách tính byte được tính: P

Chỉnh sửa 2: Đã thêm một nhận xét để điền byte. Nếu bạn kiểm tra số byte trên máy windows, chỉ cần giả vờ "REM BATCHS" chỉ là "REM" tôi đoán. : P


Tôi đang đếm byte bằng gedit; nó nói câu trả lời của bạn là 63. Không phải lo lắng; Bạn đủ gần để điền vào chỗ trống bằng các bình luận.
EMBLEM

1
À, được rồi, tôi sẽ bình luận trong đó.
bloo

3
@EMBLEM Đó là vì dòng mới của Windows \r\n. Có 7 \rs thêm ở đó.
jimmy23013


2

Vòng 2, > <> , 45 byte

4 ký tự bình luận.

'c(v\R"sovnpp[PdmSwf#[(qPppupp'01.uwyz
ol?!;

Chuỗi bây giờ chứa cả hai "', vì vậy> <> câu trả lời không thể bao quanh chuỗi đó nữa (đó là cách tôi tránh mọi lối thoát).


2

Vòng 2, Golfscript, 35 byte

"ppuppPq([#fwSmdP[ppnvos\"R\\v(c'P"

Không có byte lãng phí. Bắt đầu với một trích dẫn một lần nữa!


ASCII 7 bit sẽ không hoạt động ở đây, nó chỉ tạo ra 28 byte và bao gồm thêm NUL
LegionMammal978

Ai đó thông minh hơn tôi sẽ phải làm điều đó .. có thể có một số ngôn ngữ được mã hóa thành 6 bit có thể được chạy để tạo ra đầu ra thích hợp ..
Claudiu

Không, 6 bit sẽ tạo ra 24 byte, nhưng chúng ta cần 30.
LegionMammal978

@ LegionMammal978: Phải, 24 byte, sau đó 8 hướng dẫn sáu bit để in chúng hoặc làm bất cứ điều gì
Claudiu

1
Bạn đang thiếu dấu nháy đơn từ 2 câu trả lời trở lại
14mRh4X0r

1

Python 3, 85 byte

p1 = 'publ'
p2 = 'pre'
p3 = 'usi'
def cprint():
  print(p1[0], p2[0], p3[0])
cprint()

1

Vòng 2, C #, 95 byte

namespace Cool{class Program{static void Main(){System.Console.Write("ppuppPq([#fwSmdP[pp");}}}

Làm thế nào về việc đánh dấu "Vòng 2" này?
Claudiu

1

Vòng 2, tập lệnh F #, 55 byte

(**)System.Console.Write(@"uppPq([#fwSmdP[ppnvos""R\v")

Xem anwer script F # trước đây của tôi để biết lý do tại sao tôi nghĩ đó là ngôn ngữ hợp lệ.


1

Vòng 2, R, 50 byte

cat('ppuppPq([#fwSmdP[ppnvos\"R\\v(',file=stdout())

1

Vòng 2, Javascript, 60 byte

var _p = "p"; alert (_p.repeat (2) + "uppPq ([# fwSmdP [ppnvos \" R \\ ");

I think that your __ would fall under unnecessary variables. Try changing p to a two-letter name and make the string double-quoted to add a backslash for the printed quote. That should compensate for the 3 chars you lost from removing the __,.
LegionMammal978

1
They didn't say not to use them. They said to use at most ten bytes of them.
SuperJedi224

It meant that you can use necessary variables of up to 10 bytes, but you can't use unnecessary variables altogether.
LegionMammal978

@Rainbolt Bạn đang hiểu nó là "Bạn không thể sử dụng hơn 10 byte (bình luận), (biến không cần thiết), (lấp đầy chương trình bằng khoảng trắng) hoặc (tên biến) dài hơn 10 byte", nhưng vì tham chiếu thứ hai, tôi thấy nó là "Bạn không thể sử dụng (hơn 10 byte bình luận), (các biến không cần thiết), (lấp đầy chương trình bằng khoảng trắng) hoặc (tên biến dài hơn 10 byte)".
LegionMammal978

Tôi đã sửa chữa sự mơ hồ. Trong câu hỏi, var __không được phép (không được sử dụng trong phần còn lại của chương trình), nhưng đổi tên psẽ được chấp nhận.
ASCIIThenANSI

1

Vòng 2: Javascript, 90 byte

var p = "p"; alert (p + p + p + "u" + p + p + p.toUpperCase () + "q ([# fwSmd" + p.toUpperCase () + "[" + p + p + " n "); // p

Làm thế nào về việc đánh dấu "Vòng 2" này?
Claudiu

Các __,sẽ thuộc các biến không cần thiết .
LegionMammal978
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.