Giriş:
ifadesiyle ilgili uzun yıllardır devam eden bir tartışmadan esinlenmiştir .
ifadesiyle , matematikçiler hızlı bir şekilde doğru cevabın olduğunu göreceklerdir , oysa okuldan basit bir matematik geçmişine sahip kişiler hızlı bir şekilde doğru cevabın olduğunu göreceklerdir . Peki bu tartışma ve bu nedenle farklı cevaplar nereden geliyor? nin nasıl yazıldığına dair çelişkili iki kural vardır . Biri parçaya
2(
diğeri ise bölme sembolüne bağlı÷
.Hem matematikçiler hem de “sıradan insanlar” PEMDAS (Parantez - Üstatlar - Bölme / Çarpma - Toplama / Çıkarma) kullanacak olsalar da , matematikçiler için ifade aşağıdaki gibi değerlendirilir, çünkü tıpkı bir monomiyal gibidir. aka " nedeniyle yan yana ile örtülü çarpma tek bir terim " (ve bu nedenle bir parçası
P
olarakPEMDAS
farklı değerlendirilecektir), , (a binom aka iki dönem):
'Sıradan insan' için ise ve aynı (ve dolayısıyla parçası olacak
MD
inPEMDAS
bu yerine kullanacağız böylece):
Ancak, mümkün olduğunca orijinal ifadeyi yazılı olurdu bile , hala nedeniyle bölünme sembolünün kullanılması için bazı tartışmalara olabilir ÷
. Modern matematikte, /
ve ÷
sembolleri aynı anlama sahiptir: böl. Bazı kurallar öncesi 1918 † bölünme sembolü ilişkin ÷
†† o bölünme sembolü farklı bir anlamı olduğunu devlet /
. Bunun nedeni ÷
demek "için kullanılan sağdaki sayı / ifadesiyle soldaki numarası / ifadesini bölmek " ††† . Öyleyse , olur veya şimdi. Bu durumda1918 öncesi insanlar tarafından bu şekilde değerlendirilecektir:
†: ÷
Geçmişte nasıl kullanıldığını açıklayan birçok kaynak bulmama rağmen (bkz. Aşağıda †††), bunun 1918 civarında bir yerde değiştiğini ispatlayamadım. Fakat bu zorluğun uğruna, 1918’in dönüm noktası nerede ÷
ve
/
geçmişte farklıydı aynı şeyi ifade etmek için başlayan.
††: Diğer semboller de olduğu gibi, bölünme geçmişte kullanılmıştır
:
ya da (bu ben şahsen ilkokul xD öğrendiklerinizi olduğundan, Hollanda ve diğer Avrupa dışı İngilizce konuşulan ülkelerde hala şimdi ya) 1633 yılında)
içinde 1540'larda. Ancak bu meydan okuma için yalnızca 1918 öncesi obelus sembolünün anlamına odaklanıyoruz÷
.
†††: Kaynaklar: genel olarak bu makale . Ve ilişkin 1918 öncesi kurallar÷
bahsediliyor: Bu American Mathematical Aylık Şubat 1917 den makalesinde ; bu Alman Teutsche Cebir kitabı 1659 sayfa 9 ve sayfa 76'dan ; Bu Cebirde A İlk Kitap1895 sayfa 46'dan [48/189] .Biraz konu dışı: bu ifade hakkındaki gerçek tartışma hakkında: Asla böyle bir şey yazılmamalıdır! Soru net değilse, doğru cevap konuyla ilgisizdir. * "Kapat, çünkü ne istediğin belli değil" düğmesine tıklar * .
Ve kayıt için, Casio hesap makinelerinin farklı versiyonları bile bu ifadeyle nasıl başa çıkılacağını bilmiyor:
Meydan okuma:
Size iki giriş verilmiştir:
- Yalnızca sembollerden oluşan (geçerli) bir matematiksel ifade
0123456789+-×/÷()
- Bir yıl
Ve çıkış (yıllık göre matematiksel ifade sonucu, ÷
zaman farklı kullanılan , ancak tam da aynı kullanıldığı /
zaman ).
Meydan okuma kuralları:
- Matematiksel ifadenin geçerli olduğunu ve sadece sembolleri kullandığını varsayabilirsiniz
0123456789+-×/÷()
. Bu da üstelikle uğraşmak zorunda kalmayacağınız anlamına geliyor. ( Golfe yardımcı oluyorsa veya diliniz yalnızca ASCII'yi destekliyorsa,×
veya için÷
(*
veya veya%
) farklı semboller kullanmanıza da izin verilir .) - Bu, ifadenin (belki de el ile) değerlendirmesine yardımcı oluyorsa, giriş sınırlayıcısına boşluk sınırlayıcıları eklemenize izin verilir.
- G / Ç esnektir. Giriş bir dize, karakter dizisi, vb. Olabilir. Yıl bir tam sayı, tarih nesnesi, dize vb. Olabilir. Çıktı ondalık bir sayı olacaktır.
- 0 test vakası ile herhangi bir bölünme olmayacağını varsayabilirsiniz.
- Girdi ifadesindeki sayıların negatif olmadığını varsayabilirsiniz (bu nedenle
-
, negatif simge ile-
çıkarma sembolü olarak ayırt etmek zorunda kalmazsınız ). Çıktı yine de negatif olabilir! - Bunun yerine
N(
her zaman yazılacağını varsayabilirsinizN×(
. Biz sadece bölünme sembollerin ikinci tartışmalara odaklanmak gerekir/
vs÷
bu mücadelede. - Ondalık çıkış değerleri, en az üç ondalık basamak kesinliğine sahip olmalıdır.
- Giriş ifade çoklu içeriyorsa
÷
(örn ) ile , bunlar aşağıdaki şekilde değerlendirilmiştir: . (Ya bir deyişle:numarasıekspresyonu bölünürifadesi,numara çevirmek vasıtalarınınsayısı ile bölünür). ÷
×
/
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. - Standart G / Ç kurallarına cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT işlevlerini, uygun parametreleri içeren fonksiyonlar / yöntemleri ve dönüş tipini, tam programları kullanmanıza izin verilir. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuzu test eden bir bağlantı ekleyin (ör. TIO ).
- Ayrıca, cevabınız için bir açıklama eklemek şiddetle tavsiye edilir.
Test durumları:
Input-expression: Input-year: Output: Expression interpretation with parenthesis:
6÷2×(1+2) 2018 9 (6/2)×(1+2)
6÷2×(1+2) 1917 1 6/(2×(1+2))
9+6÷3-3+15/3 2000 13 ((9+(6/3))-3)+(15/3)
9+6÷3-3+15/3 1800 3 (9+6)/((3-3)+(15/3))
4÷2÷2 1918 1 (4/2)/2
4÷2÷2 1900 4 4/(2/2)
(1÷6-3)×5÷2/2 2400 -3.541... ((((1/6)-3)×5)/2)/2
(1÷6-3)×5÷2/2 1400 1.666... ((1/(6-3))×5)/(2/2)
1×2÷5×5-15 2015 -13 (((1×2)/5)×5)-15
1×2÷5×5-15 1719 0.2 (1×2)/((5×5)-15)
10/2+3×7 1991 26 (10/2)+(3×7)
10/2+3×7 1911 26 (10/2)+(3×7)
10÷2+3×7 1991 26 (10/2)+(3×7)
10÷2+3×7 1911 0.434... 10/(2+(3×7))
4÷2+2÷2 2000 3 (4/2)+(2/2)
4÷2+2÷2 1900 2 4/((2+2)/2)
4÷2×2÷3 9999 1.333... ((4/2)×2)/3
4÷2×2÷3 0000 3 4/((2×2)/3)
((10÷2)÷2)+3÷7 2000 2.928... ((10/2)/2)+(3/7)
((10÷2)÷2)+3÷7 1900 0.785... (((10/2)/2)+3)/7
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1920 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1750 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
10÷2/2+4 2000 6.5 ((10/2)/2)+4
10÷2/2+4 0100 2 10/((2/2)+4)
9+6÷3-3+15/3 9630 13 9+(6/3)-3+(15/3)
9+6÷3-3+15/3 0369 3 (9+6)/(3-3+(15/3))
`=`=`/`
şeytani! Harika çözüm!