Giới thiệu:
(Nguồn: Wikipedia )
Khi chúng ta nhìn vào cầu vồng, nó sẽ luôn có các màu từ trên xuống dưới:
Đỏ; trái cam; màu vàng; màu xanh lá; màu xanh da trời; xanh đậm; màu tím
Nếu chúng ta nhìn vào những chiếc nhẫn riêng lẻ này, chiếc nhẫn màu đỏ dĩ nhiên lớn hơn chiếc nhẫn màu tím.
Ngoài ra, cũng có thể có hai hoặc thậm chí ba cầu vồng cùng một lúc.
Tất cả điều này kết hợp ở trên sẽ được sử dụng trong thử thách này:
Thử thách:
Đưa ra một danh sách các số nguyên có kích thước chính xác 7, trong đó mỗi giá trị biểu thị các hạt màu có sẵn để tạo thành cầu vồng (trong đó chỉ số lớn nhất biểu thị màu đỏ và chỉ số nhỏ nhất biểu thị màu tím), xuất ra lượng cầu vồng có thể được hình thành.
Một cầu vồng nguyên duy nhất phải có ít nhất 3x tím, 4x chàm, xanh 5x, xanh lục 6x, vàng 7x, cam 8x, đỏ 9x. Cầu vồng thứ hai trên đỉnh của nó sẽ còn lớn hơn vòng đỏ của cầu vồng thứ nhất (bao gồm một khoảng trống giữa chúng), do đó, nó sẽ cần ít nhất 11x tím, 12x chàm, xanh 13x, xanh 14x, vàng 15x, cam 16x , 17x màu đỏ ngoài những gì cầu vồng đầu tiên sử dụng. Cầu vồng thứ ba sẽ bắt đầu ở màu tím 19x một lần nữa.
Thí dụ:
Danh sách đầu vào: [15,20,18,33,24,29,41]
Đầu ra:2
Tại sao? Chúng ta có màu tím 15x và chúng ta cần ít nhất 3 + 11 = 14 cho hai cầu vồng. Chúng ta có 20 chàm và chúng ta cần ít nhất 4 + 12 = 16 cho hai cầu vồng. V.v. Chúng tôi có đủ màu sắc cho hai cầu vồng, nhưng không đủ để tạo thành ba cầu vồng, vì vậy đầu ra là 2
.
Quy tắc thử thách:
- Các số nguyên trong mảng đầu vào được đảm bảo là không âm (
>= 0
). - Danh sách đầu vào được đảm bảo có kích thước 7 chính xác.
- Khi không có cầu vồng có thể được hình thành, chúng tôi đầu ra
0
. - Định dạng đầu vào và đầu ra là linh hoạt. Có thể là một danh sách hoặc mảng các số nguyên của số thập phân, có thể được lấy từ STDIN. Đầu ra có thể là một trả về từ một hàm trong bất kỳ loại đầu ra hợp lý nào, hoặc được in trực tiếp lên STDOUT.
Lượng màu tối thiểu cần thiết cho n
số lượng cầu vồng:
Amount of Rainbows Minimum amount per color
0 [0,0,0,0,0,0,0]
1 [3,4,5,6,7,8,9]
2 [14,16,18,20,22,24,26]
3 [33,36,39,42,45,48,51]
4 [60,64,68,72,76,80,84]
5 [95,100,105,110,115,120,125]
etc...
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
Input: [15,20,18,33,24,29,41]
Output: 2
Input: [3,4,5,6,7,8,9]
Output: 1
Input: [9,8,7,6,5,4,3]
Output: 0
Input: [100,100,100,100,100,100,100]
Output: 4
Input: [53,58,90,42,111,57,66]
Output: 3
Input: [0,0,0,0,0,0,0]
Output: 0
Input: [95,100,105,110,115,120,125]
Output: 5
Input: [39525,41278,39333,44444,39502,39599,39699]
Output: 98
0,0,0,0,0,0,0
cạnh hợp cụ thể mặc dù :( (nó không phù hợp với logic 1-gap)