Seseorang harus menyelesaikan N
unit kerja; sifat pekerjaannya sama.
Untuk menguasai pekerjaan, ia menyelesaikan hanya satu unit pekerjaan di hari pertama .
Dia ingin merayakan penyelesaian pekerjaan, jadi dia memutuskan untuk menyelesaikan satu unit pekerjaan di hari terakhir .
Ia hanya diizinkan menyelesaikan x
, x+1
atau x-1
unit kerja dalam satu hari , di mana x
unit kerja selesai pada hari sebelumnya.
Tugas Anda adalah membuat program atau fungsi yang akan menghitung jumlah hari minimum yang akan ia ambil untuk menyelesaikan N
unit kerja.
Input Sampel dan Ouput:
input -> output (corresponding work_per_day table)
-1 -> 0 []
0 -> 0 []
2 -> 2 [1,1]
3 -> 3 [1,1,1]
5 -> 4 [1,1,2,1] or [1,2,1,1]
9 -> 5 [1,2,3,2,1]
13 -> 7 [1,2,2,2,3,2,1]
Masukan dapat diambil melalui STDIN
atau sebagai argumen fungsi, atau dengan cara apa pun yang sesuai.
Keluaran dapat dicetak atau sebagai hasil dari suatu fungsi, atau dengan cara apa pun yang sesuai.
Ini adalah kode-golf . Solusi terpendek menang.