Hộp công cụ thứ hai của MacGyver


16

Trong câu hỏi này, mỗi câu trả lời sẽ nhận được một "hộp công cụ" có thể được sử dụng để xây dựng một chương trình / chức năng. Hộp công cụ sẽ bao gồm hai điều:

  • một danh sách các ngôn ngữ lập trình

  • một danh sách các ký tự hợp lệ

Bạn phải viết một chương trình / hàm hợp lệ bằng một trong các ngôn ngữ được cung cấp chỉ sử dụng các ký tự trong hộp công cụ. Chương trình / chức năng của bạn sẽ xuất ra số lượng câu trả lời đã có trong câu hỏi này.

Khi bạn đã viết và đăng câu trả lời, ngôn ngữ và ký tự bạn đã sử dụng sẽ bị xóa khỏi hộp công cụ và 1 ngôn ngữ mới và 8 ký tự mới sẽ được thêm ngẫu nhiên để sử dụng làm hộp công cụ cho câu trả lời tiếp theo.

Quy tắc

  • Mỗi câu trả lời sẽ:

    • Đưa ra số lượng câu trả lời hợp lệ đến trước nó
    • Chứa một tập hợp con các ký tự được cung cấp trong hộp công cụ cho câu trả lời đó. (lặp lại được cho phép)
    • Hãy là một trong những ngôn ngữ từ hộp công cụ được cung cấp
  • Hộp công cụ tiếp theo sẽ được xác định bởi chương trình python này . Để tạo hộp công cụ tiếp theo, hãy đặt các ngôn ngữ và ký tự còn lại cùng với id bài đăng của câu trả lời cuối cùng.

  • Danh sách ngôn ngữ ở đây là tất cả các ngôn ngữ có sẵn khi dùng thử trực tuyến tại thời điểm đăng bài này. Các ký tự có mã char 0-127.

  • Bạn có thể viết một chương trình đầy đủ hoặc một chức năng như câu trả lời của bạn. Vì REPL là các ngôn ngữ khác nhau nên chúng sẽ không được phép. (sử dụng phiên bản TIO của mọi ngôn ngữ)

  • Nếu một ngôn ngữ sử dụng mã hóa đặc biệt, các ký tự sẽ được hiểu là byte (được giải mã từ ASCII và được đệm bằng 0).

  • Hộp công cụ bắt đầu sẽ được chọn ngẫu nhiên từ id câu hỏi này ( 128464 ), sẽ có 7 ngôn ngữ để bắt đầu và tôi sẽ thêm các ký tự echoprint0và ascii 0-31 miễn phí để mọi người bắt đầu.

  • Bạn không thể trả lời hai lần liên tiếp

Chấm điểm

Mỗi khi một người trả lời họ sẽ nhận được một số điểm cho câu trả lời của họ. Mục tiêu là để có được càng nhiều điểm càng tốt. Đối với câu trả lời bằng ngôn ngữ X, bạn sẽ nhận được nhiều lượt như ngôn ngữ X không được sử dụng trong hộp công cụ. Ví dụ, người đầu tiên trả lời sẽ nhận được 1 điểm vì ngôn ngữ vừa được thêm vào hộp công cụ. Sẽ không nhất thiết phải có một kết thúc và tôi sẽ không chấp nhận bất kỳ câu trả lời.

Thể thao

Đây là một cuộc thi, nhưng tôi khuyến khích bạn đặt niềm vui lên trên chiến thắng trong khi vẫn duy trì tính cạnh tranh (nếu tôi có thể đưa ra tiêu chí chiến thắng "vui vẻ" tôi sẽ làm). Một số điều không vui:

  • Cố ý sử dụng các ký tự bạn không cần đóng thế các câu trả lời trong tương lai.
  • Cố gắng chơi trò chơi hệ thống id bài để làm cho các hộp công cụ trong tương lai khó sử dụng hơn.
  • Cố gắng chơi trò chơi hệ thống id bài để làm cho các hộp công cụ trong tương lai dễ sử dụng hơn.

Tôi không thể ngăn bất kỳ ai làm những điều này, nhưng tôi sẽ hạ thấp bất kỳ câu trả lời nào mà tôi nghi ngờ đang làm điều này.

Trên một lưu ý tích cực hơn, đây là một số điều thể thao tốt và được khuyến khích:

  • Phối hợp với những người dùng khác trong trò chuyện.
  • Lưu ký tự cho các ngôn ngữ khó hơn hoặc hạn chế hơn

Đây là lần lặp lại thứ hai của một thử thách được tìm thấy ở đây . Nó cải thiện một số vấn đề với cái đầu tiên. Đây là một meta thảo luận về những câu hỏi này.


Hộp công cụ đầu tiên là gì?
Máy

@CalculatorFeline Được liên kết trong câu hỏi, nó được thêm vào với id câu hỏi.
Phù thủy lúa mì

1
@tuskiomi câu hỏi cũ hơn và câu hỏi mới hơn được tạo ra bởi cùng một người, và nó phù hợp để đóng các câu hỏi cũ hơn như là bản sao của câu hỏi mới hơn, tốt hơn.
Stephen

2
@tuskiomi Sự khác biệt lớn nhất là số lượng ký tự được thêm vào hộp cát mỗi lần. Trước đây nó là 12, nhanh chóng vượt khỏi tầm kiểm soát, có nghĩa là thực tế mọi câu trả lời đều có sẵn tất cả ASCII. Tôi đã hạ nó xuống còn 8, đó là số ký tự trung bình được sử dụng bởi tất cả các câu trả lời trong phiên bản trước. Tôi đồng ý rằng sự khác biệt về hạt giống và cách tính điểm là những thay đổi nhỏ, nhưng việc giảm ký tự là toàn bộ lý do tôi đã thực hiện lần lặp thứ hai.
Phù thủy lúa mì

1
Tôi khá chắc chắn rằng điều này là không thể. Các chương trình Str yêu cầu ;(không có trong hộp công cụ) để làm bất cứ điều gì khi không có đầu vào. Các chương trình Condit và Tcl yêu cầu một khoảng trắng (không nằm trong quá hộp) như là một phần của cú pháp. Đề án cần (. Brain-Flak không thể hoạt động vì những lý do rõ ràng (chỉ có nhân vật trong hộp công cụ mà nó hiểu là )). Java 8 cần một {(không có trong hộp công cụ) để khai báo một hàm. Điều đó chỉ để lại cực đại, mà tôi không nghĩ có thể in những thứ mà không "in" hoặc khai báo một hàm mà không sử dụng dấu ngoặc đơn.
pppery

Câu trả lời:


8

Điều này là không thể

Đi qua tất cả các ngôn ngữ trong langbox:

  1. Ngôn ngữ lập trình tcl bao gồm các từ được phân tách bằng dấu cách. Ký tự khoảng trắng không có trong hộp công cụ, vì vậy không có chương trình hợp lệ nào có thể được viết.
  2. Các chương trình Str theo đầu vào biến đổi mặc định. Để họ làm bất cứ điều gì khi không có đầu vào, ;ký tự được yêu cầu, không có trong hộp công cụ.
  3. Phương tiện duy nhất để một chương trình trong lược đồ-chez làm bất cứ điều gì là bằng cách gọi một hàm sử dụng dấu ngoặc đơn. Do đó, tất cả các chương trình lược đồ cần có (nhân vật không có trong hộp công cụ
  4. Chương trình Brain-Flak cần dấu ngoặc cân bằng. Ký tự dấu ngoặc duy nhất trong hộp công cụ là ), vì vậy không có chương trình nào chứa dấu ngoặc cân bằng có thể.
  5. Tương tự như chương trình, các chương trình tối đa yêu cầu dấu ngoặc đơn để làm bất cứ điều gì.
  6. Các chương trình Java yêu cầu các chuỗi ký tự {hoặc ->ký tự để khai báo một hàm (và tất cả các chương trình đầy đủ cần ít nhất một hàm), không có hàm nào trong hộp công cụ.
  7. Các chương trình Condit yêu cầu từ whenchứa ký tự "e" không có trong hộp công cụ.

Bằng chứng về sự bất khả thi được cho phép như câu trả lời



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.