Bu zorluğu kısa tutmak.
Size 4 sayı verilmiştir: p1, p2, p3 ve p4.
Sayıların sihirli toplamı şu şekilde tanımlanır:
magic_sum = |p1 - p2| + |p2 - p3| + |p3 - p4| + |p4 - p1|
Yalnızca yukarıdaki tamsayı değerlerinden birini değiştirmenize izin verilir (p1, p2, p3 veya p4). Değeri, değerlerin sihirli toplamının minimum değerine ulaşacağı şekilde değiştirmeniz gerekir.
Örneğin:
p1, p2, p3, p4 = 17, -6, 15, 33. Bu durumda sihirli toplamın değeri 78'dir.
Burada -6'yı 16'ya değiştirebilirsin, ve sihir toplamının değeri 36, asgari ulaşılabilir değer olacak.
Sayıların pozitif veya negatif tamsayılar olabileceğini unutmayın.
Bu kod-golf, yani koddaki en az bayt kazanıyor. Brownie, Pratik Bir Dili, Rekreasyonel bir dil üzerinde kullanmaya işaret ediyor. Dördüncü kişi seninle olsun.
Tekrarlamak için:
Örnek 1
Giriş 1
17 -6 15 33
Çıkış 1
36
Açıklama 1
-6, 16 ile değiştirilebilir ve bu bize mümkün olan asgari minimum sihir miktarını verir.
Örnek 2
Giriş 2
10 10 10 10
Çıkış 2
0 or 2
ya kabul edilebilir
Açıklama 2
Elde edilebilir minimum büyü toplamı 0'dır, çünkü minimum 4 pozitif tamsayının toplamı 0'dır. Bir sayı değişmesi gerekiyorsa, 10'lardan biri 9 olarak değiştirilebilir ve bu sayede 2 çıkışı elde edilir.
Örnek 3
Giriş 3
1 2 3 4
Çıkış 3
4
Açıklama 3
Kendi başına girdi, sihirli toplamı olarak 6'yı verir. 4 ile 1 arasında değişme ve minimum büyü toplamı 4 olan elde edilir.
+1
benden.