Đồng nghiệp của tôi gần đây đã gửi cho tôi đoạn JavaScript sau đây như một trò đùa:
let butScript = (nrOfButs) => {
for(var i = 0; i < nrOfButs; i++){
if(i % 3 == 0){
console.log("Yeah")
}
if(i % 2 == 0){
console.log("But")
}
if(i % 3 == 1){
console.log("No")
}
}
}
Vì mã được viết trong giờ làm việc, rõ ràng nó là một sự lãng phí rất lớn tài nguyên của công ty. Để ngăn chặn những sự cố tương tự xảy ra trong tương lai, chúng ta phải giảm thiểu lãng phí thời gian làm việc. Và vì kiến thức phổ biến là một chương trình ngắn hơn để viết nhanh hơn, chúng ta phải đánh golf mã này càng ngắn càng tốt!
Đầu vào
Một số nguyên không âm. Bạn không được xử lý đầu vào bị lỗi.
Đầu ra
Chương trình của bạn phải tạo đầu ra giống hệt với kịch bản ở trên. Bạn nên xuất một từ trên mỗi dòng và số lượng từ phải phù hợp với tập lệnh gốc.
Được phép bao gồm các ký tự khoảng trắng không phải dòng mới ở cuối mỗi dòng (nhưng không phải ở đầu) vì chúng là vô hình. Một ký tự dòng mới bổ sung được cho phép ở cuối đầu ra.
Ví dụ
Input: 0
Output:
Input: 1
Output:
Yeah
But
Input: 2
Output:
Yeah
But
No
Input: 10
Output:
Yeah
But
No
But
Yeah
But
No
Yeah
But
No
But
Yeah
nrOfButs
biến này được đặt tên kém và gây hiểu nhầm. Dù sao cũng là thử thách đơn giản.
if
máng rơi và tiếp tục trong vòng lặp hiện tại nếu điều kiện của họ được thỏa mãn.