Pengantar:
(Sumber: Wikipedia )
Ketika kita melihat pelangi ia akan selalu memiliki warna dari atas ke bawah:
Merah; jeruk; kuning; hijau; biru; nila; violet
Jika kita melihat masing-masing cincin, cincin merah tentu saja lebih besar dari cincin ungu.
Selain itu, juga dimungkinkan untuk memiliki dua atau bahkan tiga pelangi secara bersamaan.
Semua gabungan di atas akan digunakan dalam tantangan ini:
Tantangan:
Diberikan daftar bilangan bulat dengan ukuran persis 7, di mana setiap nilai menunjukkan partikel warna yang tersedia untuk membentuk pelangi (di mana indeks terbesar menunjukkan merah dan indeks terkecil ditunjukkan ungu), menampilkan jumlah pelangi yang dapat dibentuk.
Satu integer-pelangi harus memiliki setidaknya 3x violet, 4x indigo, 5x biru, 6x hijau, 7x kuning, 8x oranye, 9x merah. Pelangi kedua di atasnya bahkan akan lebih besar dari cincin merah pelangi pertama (termasuk satu ruang di antara mereka), sehingga diperlukan setidaknya 11x violet, 12x indigo, 13x biru, 14x hijau, 15x kuning, 16x oranye , 17x merah sebagai tambahan dari apa yang digunakan pelangi pertama. Pelangi ketiga akan mulai pada 19x violet lagi.
Contoh:
Input-list: [15,20,18,33,24,29,41]
Output:2
Mengapa? Kami memiliki 15x violet, dan kami membutuhkan setidaknya 3 + 11 = 14 untuk dua pelangi. Kami memiliki 20 nila dan kami membutuhkan setidaknya 4 + 12 = 16 untuk dua pelangi. Dll. Kami memiliki cukup warna untuk dua pelangi, tetapi tidak cukup untuk membentuk tiga pelangi, jadi hasilnya adalah 2
.
Aturan tantangan:
- Bilangan bulat dalam larik input dijamin non-negatif (
>= 0
). - Input-list dijamin ukurannya persis 7.
- Ketika tidak ada pelangi dapat terbentuk, kami menghasilkan
0
. - Format input dan output fleksibel. Dapat berupa daftar atau array bilangan desimal, bisa diambil dari STDIN. Output dapat berupa pengembalian dari suatu fungsi dalam tipe output yang masuk akal, atau dicetak langsung ke STDOUT.
Jumlah minimum warna yang dibutuhkan untuk n
jumlah pelangi:
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...
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa pun'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
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
tepi :( (tidak cocok dengan logika 1-celah)