Buradaki ilk soru, bunun bir kopya mı yoksa kötü bir meydan okuma mı olduğunu söyleme.
Giriş
Bu meydan okumayı kendim düşündüm ve yeni başlayanlar için golfçüler için iyi bir temel bulmaca gibi görünüyor. Hangi kod-golf dilinin öğrenileceğine karar vermeme de yardımcı olabilir.
Meydan okuma
Daha küçük veya eşit bir tamsayı dizisi verildiğinde, diziden tam olarak n
toplanan minimum sayı sayısını verir veya döndürür n
.
Bir işlev veya tam bir program yazmayı seçebilirsiniz.
Giriş
Güvenle kabul edebilirsiniz 0 <= n < 2^31
.
Dizinin uzunluğunu belirten isteğe bağlı bir parametre ile birlikte herhangi bir tür veya liste ( vector
C ++ veya Java LinkedList
için izin verilir) alın .n
length
Girdiyi, n
virgül veya boşlukla ayrılmış, boşlukla ayrılmış bir dize olarak da alabilirsiniz :
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
eğer daha kolaysa.
Çıktı
Çıktı veya diziden tam olarak toplanan minimum sayı sayısını döndürür n
. Yukarıdaki örneği kullanarak:
1 5 7 3 7 3 6 3 2 6 3,10
Programınız yazdırmalıdır:
2
sayıların en az sayıda kadar toplamı çünkü 10
olduğunu 2
( 7
ve 3
).
Herhangi bir çözüm yoksa, boş bir dize dışında negatif, 0
"Çözüm yok" (akıllıca olmaz), ∞
(önerildiği gibi) veya başka herhangi bir yanlış değeri yazdırın veya döndürün.
Örnek Giriş ve Çıkış
Giriş:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
Çıktı:
2
3
-1
puanlama
Bu kod golf, bayt en kısa kod kazanır.
En iyi cevap Noel'de kabul edilecektir.
false
Çözümü olmayan vakalar için çıktı alabilir miyiz ?