Son kez, kopya olmayan kolay bir şey bulmaya çalıştım, bu çok zor oldu. Umarım bu sefer yeni gelenlerin de deneyebileceği bir şey.
Giriş:
Tamsayı / ondalık basamaklı bir dizi / liste. (Veya, tamsayı / ondalık sayı içeren bir diziyi temsil eden bir dize.)
Çıktı:
Rakamlar arasında dolaşın ve aşağıdaki beş matematiksel operayı bu sıraya göre uygulayın:
- Ekleme (
+
); - Çıkarma (
−
); - Çarpma (
*
veya×
veya·
); - Reel / Hesaplayıcı Bölümü (
/
veya÷
); - Üfleme (
^
veya**
).
(NOT: Parantez arasındaki semboller sadece açıklama olarak eklenmiştir. Programlama diliniz matematiksel işlem için örneklerden tamamen farklı bir sembol kullanıyorsa, bu elbette tamamen kabul edilebilir.)
Listenin sonuna ulaşana kadar devam edin ve ardından toplamın sonucunu verin.
Meydan okuma kuralları:
- 0 (
n ^ 0
) ile üstelleştirme 1 ile sonuçlanmalıdır (bu aynı zamanda geçerlidir0 ^ 0 = 1
). - 0 (
n / 0
) 'a göre bölünme için test durumu yoktur , bu nedenle o uç durum için endişelenmenize gerek yoktur. - Dizi sadece tek bir sayı içeriyorsa, sonuç olarak döndürürüz.
Genel kurallar:
- Bu kod golf , bayt cinsinden en kısa cevap kazanır.
Code-golf dillerinin, codegolfing olmayan dillerle cevap göndermekten vazgeçmesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem ile uygun parametreler, tam programlar kullanabilirsiniz. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
Test durumları:
[1,2,3,4,5] -> 0
-> 1 + 2 = 3
-> 3 - 3 = 0
-> 0 * 4 = 0
-> 0 / 5 = 0
[5,12,23,2,4,4,2,6,7] -> 539
-> 5 + 12 = 17
-> 17 - 23 = -6
-> -6 * 2 = -12
-> -12 / 4 = -3
-> -3 ^ 4 = 81
-> 81 + 2 = 83
-> 83 - 6 = 77
-> 77 * 7 -> 539
[-8,50,3,3,-123,4,17,99,13] -> -1055.356...
-> -8 + 50 = 42
-> 42 - 3 = 39
-> 39 * 3 = 117
-> 117 / -123 = -0.9512...
-> -0.9512... ^ 4 = 0.818...
-> 0.818... + 17 = 17.818...
-> 17.818... - 99 -> -81.181...
-> -81.181... * 13 = -1055.356...
[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2] -> 256
-> 2 + 2 = 4
-> 4 - 2 = 2
-> 2 * 2 = 4
-> 4 / 2 = 2
-> 2 ^ 2 = 4
-> 4 + 2 = 6
-> 6 - 2 = 4
-> 4 * 2 = 8
-> 8 / 2 = 4
-> 4 ^ 2 = 16
-> 16 + 2 = 18
-> 18 - 2 = 16
-> 16 * 2 = 32
-> 32 / 2 = 16
-> 16 ^ 2 = 256
[1,0,1,0,1,0] -> 1
-> 1 + 0 = 1
-> 1 - 1 = 0
-> 0 * 0 = 0
-> 0 / 1 = 0
-> 0 ^ 0 = 1
[-9,-8,-1] -> -16
-> -9 + -8 = -17
-> -17 - -1 = -16
[0,-3] -> -3
-> 0 + -3 = -3
[-99] -> -99
n ^ 0 = 1
ama 0 ^ n = 0
. Çatışma n != 0
her iki kural için de belirleyerek çözüldü , ancak sonra 0 ^ 0
tanımsız bırakıldı. Bununla birlikte, eğer 0 ^ 0
tanımlanırsa matematikte güzel bir şekilde ortaya çıkan birçok şey vardır 1
. Bkz Wikipedia bazı detaylar için.