Pertanyaan pertama di sini, jangan meneriaki saya apakah ini duplikat atau tantangan yang buruk.
pengantar
Saya memikirkan tantangan ini sendiri, dan itu tampaknya menjadi teka-teki dasar yang bagus untuk pegolf kode pemula. Ini juga dapat membantu saya memutuskan bahasa golf kode mana yang akan saya pelajari.
Tantangan
Diberikan array bilangan bulat yang kurang dari atau sama dengan n
, menghasilkan atau mengembalikan jumlah angka minimum dari array yang dijumlahkan dengan tepat n
.
Anda dapat memilih untuk menulis fungsi atau program lengkap.
Memasukkan
Anda bisa berasumsi dengan aman 0 <= n < 2^31
.
Ambil array atau daftar apa pun ( vector
untuk C ++ atau Java LinkedList
diizinkan), beserta n
parameter opsional length
, yang menentukan panjang array.
Anda juga dapat mengambil input sebagai string yang dipisahkan spasi, dipisahkan n
oleh koma atau spasi:
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
jika lebih mudah.
Keluaran
Keluaran, atau kembalikan jumlah angka minimum dari array yang jumlahnya tepat n
. Menggunakan contoh di atas:
1 5 7 3 7 3 6 3 2 6 3,10
Program Anda harus mencetak:
2
karena jumlah minimum angka yang dijumlahkan 10
adalah 2
( 7
dan 3
).
Dalam hal tidak ada solusi, cetak atau kembalikan negatif,, 0
"Tidak ada solusi" (meskipun itu tidak akan pintar), ∞
(seperti yang disarankan), atau nilai palsu lainnya, dengan pengecualian string kosong.
Contoh Input dan Output
Memasukkan:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
Keluaran:
2
3
-1
Mencetak gol
Ini adalah kode-golf, jadi kode terpendek dalam byte menang.
Jawaban teratas akan diterima pada Natal.
false
untuk kasus tanpa solusi?