Bilinen matematiksel sembollerimizi kullanarak: +, x, parantez ve herhangi bir rasyonel sayı, istenen sayıları değerlendiren ifadeler oluşturmak kolaydır. Örneğin: 1+(2x3)=7
, (1+2)+(3x6.5)=22.5
ve bu kadar. Yeterince sıkıcı.
Bu meydan okuma, biz yeni operatörünü kullanacağız: ±
. ±
Bir ifadede kullanılması , ifadesini değiştirerek ifadeyi değerlendirmeniz gerektiği anlamına gelir ±
.+
veya -
tüm yollarla tüm olası değer kümesini döndürmeniz . Örneğin:
1±2±3 = {-4,0,2,6}
Çünkü1±2±3
herhangi biri olabilir1+2+3
,1+2-3
,1-2+3
ve1-2-3
onların değerlerini ve vardır6,0,2,-4
sırasıyla.(±2)x(2±3) = {-10,-2,2,10}
benzer nedenlerden dolayı.
Olarak çıkıyor Şimdi, ayrı gerçek sayıların herhangi seti önüne alındığında, bu bir ifade oluşturmak mümkündür +
, x
, (
,)
, ±
, ve gerçek sayılar göz önüne alındığında kümesine değerlendirir.
Görev
Göreviniz (liste / dizi / uygun herhangi bir biçimi) bir diziyi alır seçtiğiniz bir dilde bir program veya fonksiyon yazmaktır tamsayılar oluşan (bir karakter dizisi) bir ifade ve çıkışlar +
, x
, (
, )
, ±
, ve rasyonel sayılar verilen sayılar kümesini değerlendirir.
- Tam karakter olduğunu unutmayın
±
önemli olmadığını ; Kullanmakta olduğunuz diğer karakterlerden ayırt edilebilir olduğu sürece istediğiniz herhangi bir karakteri kullanabilirsiniz. Ancak gönderiminizde hangi karakteri kullandığınızı belirtmelisiniz. - Girdi, kullanılan rasyonel sayıların ondalık değerlerinden (makul hassasiyete kadar) oluşmasına izin verilir.
- Giriş ve çıkış, standart yollardan biriyle alınabilir.
- Standart boşluklar yasaktır.
- Verilen tam sayıların farklı olacağını ve artan sırayla sağlandığını varsayabilirsiniz.
- Çıktı boşluk ve yeni satırlar içerebilir.
Kazanan Kriter
Bu kod golf , bayt cinsinden en kısa kod kazanır.
Örnekler
Giriş | Olası çıkış ------------- + ----------------------------- [1,2,3] | 2 ± 0.5 ± 0.5 [-7, -3,1,21] | (1 ± 2) x (3 ± 4)
Şehirlerin Turnuvası'ndaki bir sorudan alınan fikir , 2015 Sonbaharında .