Sếp của tôi * không hiểu tại sao các lập trình viên của cô ấy phản ứng tiêu cực với người dùng thay đổi yêu cầu chương trình. Giúp cô hiểu! Trên mỗi câu trả lời, tạo một yêu cầu mới. Sau đó, viết một chương trình / hàm giải quyết yêu cầu đó và tất cả các yêu cầu trước đó, trong khi bằng ngôn ngữ lập trình mới.
Ví dụ
Người dùng 1 đăng câu trả lời đầu tiên. Ông xác định rằng chương trình phải xuất ra "Xin chào, Thế giới." Anh ta tạo ra một chương trình bằng Java tạo ra "Hello, World."
Người dùng 2 đăng câu trả lời thứ hai. Cô xác định rằng chương trình phải chấp nhận đầu vào n và xuất số nguyên tố thứ n , tối đa bằng số ngôn ngữ. Cô tạo một chương trình trong C ++, chấp nhận đầu vào n và xuất ra số nguyên tố thứ n và xuất ra "Hello, World". Cô ấy không thể tạo ra một chương trình trong Java.
Người dùng 3 đăng câu trả lời thứ ba. Ông xác định rằng nguồn chương trình không thể chứa văn bản "Xin chào". Anh ta tạo một hàm trong Python chấp nhận đầu vào n và xuất ra số nguyên tố thứ n và "Xin chào, Thế giới." trong khi không sử dụng văn bản "Xin chào" trong nguồn của mình. Anh ta không thể tạo ra một chương trình bằng Java hoặc C ++.
Định dạng câu trả lời
#Answer # - <language name> [version, if pertinent]
Requirement: <rule>.
<code>
[explanations, encoding, TIO link, etc.]
Trả lời nội quy
Câu trả lời phải theo định dạng trên, hoặc tương tự.
Câu trả lời có thể là một chương trình hoặc một chức năng.
Câu trả lời phải đáp ứng tất cả các yêu cầu lên đến và bao gồm câu trả lời hiện tại.
Cùng một người dùng có thể không đăng hai câu trả lời liên tiếp.
Nếu hai câu trả lời được đăng với cùng một số, câu trả lời được đăng sau đó sẽ bị xóa.
Không chỉnh sửa yêu cầu của bạn trừ khi bạn nhầm lẫn và không có câu trả lời nào khác được đăng.
Nếu câu trả lời của bạn không tuân thủ quy tắc của bạn và tất cả các quy tắc khác, nó không hợp lệ. Cố gắng khắc phục điều này trước khi người khác đăng câu trả lời tiếp theo.
Các phiên bản khác nhau của cùng một ngôn ngữ chỉ được tính là các ngôn ngữ khác nhau nếu chương trình hoặc chức năng được tạo trong một trong hai phiên bản sẽ hoạt động khác nhau trong phiên bản khác.
Câu trả lời có thể không chấp nhận bất kỳ đầu vào nào không bắt buộc và có thể không xuất ra bất cứ thứ gì không cần thiết ngoại trừ khoảng trắng cần thiết. Tuy nhiên, trong khi hậu trường, chương trình phải đáp ứng tất cả các yêu cầu "ẩn" (từ người dùng), nó có thể làm bất cứ điều gì khác mà bạn muốn, đặc biệt là nếu bạn phải đáp ứng yêu cầu về thời gian thực hiện.
Quy tắc yêu cầu
Yêu cầu chỉ phải xác định một yêu cầu. Yêu cầu này có thể có điều kiện và nếu yêu cầu này yêu cầu đầu vào và / hoặc đầu ra, điều này có thể được bao gồm.
Yêu cầu có thể không xóa hoặc sửa đổi các yêu cầu trước đó hoặc xung đột với chúng, nhưng có thể mở rộng một yêu cầu (chỉ định cái nào).
Nếu yêu cầu hạn chế nguồn ( hạn chế nguồn ), hoặc yêu cầu văn bản trong nguồn, nó chỉ có thể loại bỏ một chuỗi duy nhất (ví dụ
0
,Hello
), hoặc yêu cầu một nhân vật duy nhất.Yêu cầu không thể yêu cầu nguồn phải dưới 100 byte, yêu cầu mã hóa cụ thể, hoặc, tự nó, loại trừ phần lớn các ngôn ngữ phổ biến.
Yêu cầu có thể không buộc nguồn phải tuân theo một mẫu nhất định (ví dụ: bắt đầu mỗi dòng bằng một ký tự nhất định hoặc (@Conor) băm đến một giá trị nhất định) ngoài giá trị được chỉ định trong nguồn bị hạn chế.
Đây là câu trả lời , vì vậy tất cả các câu trả lời được xây dựng dựa trên các câu trả lời trước đó. Tôi và có thể những người khác sẽ cố gắng giữ một danh sách tất cả các yêu cầu. Để xem câu trả lời theo thứ tự, bạn có thể sắp xếp theo cũ nhất. Để xem câu trả lời mới nhất, sắp xếp theo cũ nhất, sau đó điều hướng đến cuối danh sách.
Cách thắng (thay đổi để giữ phiếu):
Khi không có câu trả lời nào được đăng trong hai tuần, thử thách đã kết thúc và điểm sẽ được tính. Điểm số sẽ được tính bằng cách tính tổng số câu trả lời của mỗi người dùng, nhưng các bài đăng có trọng số dựa trên khoảng cách vào chuỗi (vì các bài đăng sau này có nhiều yêu cầu hơn, chúng khó hơn).
Mã giả:
for each answer in user.Answers {
score += 1 + (answer.number / 100)
}
Thí dụ:
Sally có ba câu trả lời. Cô đăng câu trả lời 5, câu trả lời 7 và câu trả lời 20.
Điểm của cô ấy sẽ là 1.05 + 1.07 + 1.2 = 3.32
. Nếu đó là một câu trả lời thẳng, điểm của cô ấy sẽ là 3, nhưng trọng số của phần thưởng độ sâu chuỗi sẽ trả lời khó hơn.
Để bắt đầu:
Đây là yêu cầu đầu tiên, được đưa ra bởi sếp của tôi *:
Yêu cầu 0: Chương trình phải xuất 0 trước mọi thứ khác.
* hư cấu
Danh sách các yêu cầu và ngôn ngữ
Lưu ý rằng điều này có thể đã lỗi thời - vui lòng xem câu trả lời được đăng cuối cùng ngay trước khi đăng câu trả lời của bạn để đảm bảo bạn đang đáp ứng mọi yêu cầu. Tôi rất xin lỗi nếu bạn tạo một chương trình tinh tế, chỉ dành cho ai đó để bắn tỉa nó - nếu bạn thực sự thực sự muốn đăng nó, hãy xác định không cạnh tranh.
Full (nhưng có lẽ không cập nhật) Yêu cầu: Không thể chứa
0
,*
hoặc]
trong mã nguồn, và không thể sử dụng tham gia-on-newline dựng sẵn. Đầu ra0
, sau đó lấy đầu vào số nguyên không âmn
và xuất ra một dòng mới theo sau làn
số Fibonacci thứ 0 (có thể được1
lập chỉ mục), theo sau là một dòng mới, theo sau là đầu vào n bình phương, theo sau là một dòng mới, tiếp theo làn
nhân bởi một đầu vào mớim
, tiếp theo là một dòng mới, tiếp theo10^B
, nơiB
được số byte trong mã nguồn, tiếp theo là một dòng mới, tiếp theo làn
thứ0
-indexed (cũng có thể1
-indexed) số nguyên tố, tiếp theo là một dòng mới, theo sau là ước số chung lớn nhất của n và m.0: Chương trình phải xuất ra
0
trước mọi thứ khác. Ngôn ngữ: Không áp dụng
1: Nguồn chương trình không thể chứa0
. Ngôn ngữ: 05AB1E
2: Chương trình lấy đầu vào số nguyên không âmn
và xuất ra một dòng mới theo sau là0
số Fibonacci thứ n được1
chỉ định (có thể được lập chỉ mục). Ngôn ngữ: dc
3: Chương trình xuất ra một dòng mới, theo sau là cùng mộtn
bình phương đầu vào . Ngôn ngữ: J
4: Chương trình xuất ra một dòng mới, tiếp theo làn
nhân với một đầu vào mớim
. Ngôn ngữ: Ohm
5: Chương trình không thể chứa*
(mã ASCII0x2A
). Ngôn ngữ: Python 3
6: Các chương trình đầu ra một dòng mới, tiếp theo10^B
, nơiB
là số byte trong mã nguồn. Ngôn ngữ: Mathicala
7: Chương trình xuất ra một dòng mới, theo sau là số nguyên tốn
th0
-indexed (cũng có thể là1
-exexed). Ngôn ngữ: JavaScript (ES6)
8: Chương trình không sử dụng nội dung liên kết mới, nhưng có thể sử dụng bất kỳ nội dung tham gia nào khác. Ngôn ngữ: Jelly
9: Chương trình xuất ra một dòng mới theo sau là Số chia chung lớn nhất của n và m. Ngôn ngữ: Scala
10: Chương trình không thể chứa]
. Ngôn ngữ: Pyth
Điểm hiện tại (được sắp xếp theo bài đầu tiên)
Okx : 1.01
R. Kap : 2.09
Conor O'Brien : 1.03
Nick Clifford : 1.04
Eric Rose : 1.05
Greg Martin : 1.06
Erik the Outgolfer : 2.18
math_junkie : 1.09