Wprowadzenie:
(Źródło: Wikipedia )
Kiedy spojrzymy na tęczę, zawsze będzie miała kolory od góry do dołu:
Czerwony; Pomarańczowy; żółty; Zielony; niebieski; indygo; fioletowy
Jeśli spojrzymy na te pojedyncze pierścienie, czerwony pierścień jest oczywiście większy niż pierścień fioletowy.
Ponadto możliwe jest jednoczesne posiadanie dwóch lub nawet trzech tęcz.
Wszystkie powyższe kombinacje zostaną wykorzystane w tym wyzwaniu:
Wyzwanie:
Biorąc pod uwagę listę liczb całkowitych o dokładnym rozmiarze 7, gdzie każda wartość wskazuje dostępne cząstki koloru, które mogą tworzyć tęcze (gdzie największy wskaźnik wskazuje na czerwony, a najmniejszy wskaźnik wskazuje na fioletowy), wyprowadza ilość tęczy, którą można utworzyć.
Jedna liczba całkowita tęczy musi mieć co najmniej 3x fiolet, 4x indygo, 5x niebieski, 6x zielony, 7x żółty, 8x pomarańczowy, 9x czerwony. Druga tęcza na niej będzie jeszcze większa niż czerwony pierścień pierwszej tęczy (w tym jedna przestrzeń między nimi), więc będzie potrzebowała co najmniej 11x fioletu, 12x indygo, 13x niebieskiego, 14x zielonego, 15x żółtego, 16x pomarańczowego , 17x czerwony oprócz tego, z czego korzysta pierwsza tęcza. Trzecia tęcza znów zacznie się od 19x fioletu.
Przykład:
Lista wejściowa: Dane [15,20,18,33,24,29,41]
wyjściowe:2
Dlaczego? Mamy 15x fiolet i potrzebujemy co najmniej 3 + 11 = 14 na dwie tęcze. Mamy 20 indygo i potrzebujemy co najmniej 4 + 12 = 16 na dwie tęcze. Itd. Mamy wystarczająco dużo kolorów na dwie tęcze, ale nie na tyle, aby uformować trzy tęcze, więc wynik jest 2
.
Zasady konkursu:
- Liczby całkowite w tablicy wejściowej są gwarantowane jako nieujemne (
>= 0
). - Gwarantujemy, że lista wejściowa ma dokładnie rozmiar 7.
- Kiedy nie można utworzyć tęcze, wysyłamy
0
. - Format wejściowy i wyjściowy jest elastyczny. Może być listą lub tablicą liczb całkowitych dziesiętnych, można pobrać ze STDIN. Dane wyjściowe mogą być zwracane przez funkcję dowolnego rozsądnego typu danych wyjściowych lub drukowane bezpośrednio do STDOUT.
Minimalna ilość kolorów wymagana dla n
ilości tęcz:
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...
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki kod-golfowe zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i zwracanymi typami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- Zalecane jest również dodanie wyjaśnienia do odpowiedzi.
Przypadki testowe:
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
Krawędzi przypadek chociaż :( (nie pasuje do logiki 1-GAP)