Terinspirasi oleh pertanyaan ini dari teman-teman saingan kami di Code Review.
Definisi
Sebuah Array Super adalah array di mana setiap elemen baru dalam array lebih besar daripada jumlah semua elemen sebelumnya. {2, 3, 6, 13}
adalah array super karena
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
adalah tidak array super, karena
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
Sebuah Array duper adalah array di mana setiap elemen baru dalam array lebih besar dari produk dari semua elemen sebelumnya. {2, 3, 7, 43, 1856}
adalah array super, tetapi juga merupakan array duper sejak itu
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
Tantangan
Tulis fungsi atau program yang menggunakan array sebagai input dalam format daftar asli bahasa Anda, dan tentukan seberapa hebat array itu. Anda juga dapat secara opsional mengambil input panjang array (untuk bahasa seperti C / C ++). Juga, Anda dapat mengasumsikan bahwa semua nomor dalam daftar akan bilangan bulat lebih besar dari 0. Jika itu adalah yang super array, anda harus mencetak It's a super array!
Jika itu adalah yang super duper array, anda harus mencetak It's a super duper array!
Ada juga kemungkinan untuk array menjadi duper- bukan super. Sebagai contoh {1, 2, 3}
Dalam hal ini, Anda harus mencetak It's a duper array!
Jika array tidak super atau duper, Anda dapat mencetak nilai palsu.
Seperti biasa, ini adalah kode golf, sehingga celah standar berlaku, dan jawaban terpendek dalam byte akan menang.
{1, 2, 3}
array?
2 * 1
menyamai 3
kepalaku.
super[space][space]array
diizinkan.