Esinlenen bu soruya bizim dan rakipleri Kod Review de üzerinde arkadaşlar.
Tanımlar
Bir süper dizi dizideki her elamanın önceki tüm unsurların toplamı daha büyük olan bir dizidir. {2, 3, 6, 13}
süper bir dizi çünkü
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
olduğu değil bir süper dizi, çünkü
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
Bir aldatan dizi dizideki her elamanın önceki tüm elemanların ürün daha büyük olan bir dizidir. {2, 3, 7, 43, 1856}
süper bir dizi, ancak o zamandan beri de duper bir dizi
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
Meydan okuma
Dillerin yerel liste biçiminde girdi olarak bir dizi alan bir işlev veya program yazın ve dizinin ne kadar süper olduğunu belirler. İsteğe bağlı olarak dizi uzunluğu girişi de alabilirsiniz (C / C ++ gibi diller için). Bir buysa Ayrıca, listedeki sayıların tüm Tamsayılardaki 0'dan büyük olacağını varsayabiliriz süper dizi, yazdırmak gerekir It's a super array!
o ise süper kandırılan dizisi yazdırmak gerekir, It's a super duper array!
bir dizi duper- olması çok da mümkün olmayan süper. Örneğin {1, 2, 3}
, bu durumda, yazdırmalısınız It's a duper array!
. Dizi ne süper, ne de aldatıcı değilse, sahte bir değer yazdırabilirsiniz.
Her zaman olduğu gibi, bu kod golf, bu yüzden standart boşluklar uygulanır ve bayt cinsinden en kısa cevap kazanır.
{1, 2, 3}
Dizi için "süper-süper-olmayan" demek istediğine eminim ?
2 * 1
eşit var 3
.
super[space][space]array
İzin verilirse daha çok tasarruf edebilirim .