Tín dụng cho Geobits trong TNB cho ý tưởng
Một bài đăng không có đủ chi tiết gần đây đã đặt ra một trò chơi thú vị:
2 đứa ngồi trước một mảng kẹo. Mỗi miếng kẹo được đánh số từ 1 đến x
, với x
tổng số kẹo hiện tại. Có chính xác 1 lần xuất hiện của mỗi số.
Mục tiêu của trò chơi là cho trẻ em ăn kẹo và nhân giá trị của số kẹo chúng đã ăn để đạt được điểm số cuối cùng, với điểm số cao hơn sẽ giành chiến thắng.
Tuy nhiên, bài đăng gốc đã bỏ lỡ thông tin quan trọng, chẳng hạn như cách chọn kẹo, vì vậy những đứa trẻ trong câu chuyện của chúng tôi đã quyết định rằng đứa trẻ lớn hơn sẽ được đi trước, và có thể ăn tới một nửa số kẹo, tuy nhiên một khi nó thông báo kết thúc lượt của mình, anh không thể thay đổi ý định.
Một trong những đứa trẻ trong trò chơi này không thích kẹo, vì vậy anh ta muốn ăn ít nhất có thể, và anh ta đã từng xem cha mình viết một số mã một lần, và con số anh ta có thể sử dụng các kỹ năng thu được từ đó để tìm ra bao nhiêu kẹo anh ta cần ăn để đảm bảo chiến thắng, trong khi vẫn ăn ít nhất có thể.
Các thách thức
Với tổng số kẹo x
, chương trình hoặc chức năng của bạn sẽ xuất ra số kẹo nhỏ nhất mà anh ta phải ăn để đảm bảo chiến thắng n
, ngay cả khi đối thủ của anh ta ăn hết số kẹo còn lại.
Những con số lớn hơn tự nhiên tạo ra những con số lớn hơn, vì vậy bất cứ số tiền nào bạn sẽ cho anh ta, anh ta sẽ ăn những n
con số lớn nhất.
Những quy định
x
Sẽ luôn có một dương tính số nguyên trong phạm vi0 < x! <= l
nơil
là giới hạn trên của xử lý số khả năng của ngôn ngữ của bạn- Nó được đảm bảo rằng đứa trẻ sẽ luôn ăn những
n
con số lớn nhất, ví dụ như ,x = 5
vàn = 2
nó sẽ ăn4
và5
Các trường hợp thử nghiệm
x = 1
n = 1
(1 > 0)
x = 2
n = 1
(2 > 1)
x = 4
n = 2
(3 * 4 == 12 > 1 * 2 == 2)
x = 5
n = 2
(4 * 5 == 20 > 1 * 2 * 3 == 6)
x = 100
n = 42
(product([59..100]) > product([1..58]))
x = 500
n = 220
(product([281..500]) > product([1..280]))
Chấm điểm
Thật không may, thí sinh dũng cảm của chúng tôi không có gì để viết mã của anh ấy, vì vậy anh ấy phải sắp xếp các mẩu kẹo thành các ký tự của mã, do đó, mã của bạn cần phải nhỏ nhất có thể, mã nhỏ nhất tính bằng byte sẽ thắng!
x = 0
cũng nên được xử lý, kể từ khi 0! = 1
nào? (Có lẽ x
cũng nên được chỉ định là Số nguyên dương?)