Tantangan
Dalam tugas ini Anda akan diberikan integer N (kurang dari 10 6 ), temukan cara minimum di mana Anda bisa menjumlahkan ke N hanya menggunakan angka Fibonacci - partisi ini disebut representasi Zeckendorf .
Anda bisa menggunakan angka Fibonacci lebih dari sekali dan jika ada lebih dari satu hasil representasi.
Misalnya jika inputnya adalah 67 maka satu kemungkinan output bisa menggunakan angka Fibonacci 1,3,8,55 yang juga merupakan angka minimum dari angka Fibonacci yang bisa digunakan untuk mendapatkan jumlah 67 .
Input N diberikan pada satu baris, input diakhiri oleh EOF.
Contohnya
Diberikan dalam format input: output
0: 0
47: 34+13
3788: 2584+987+144+55+13+5
1646: 1597+34+13+2
25347: 17711+6765+610+233+21+5+2
677: 610+55+8+3+1
343: 233+89+21
3434: 2584+610+233+5+2
Kendala
- Jumlah input tidak akan melebihi nilai 10 6 .
- Program Anda tidak boleh berjalan lebih dari 5 detik untuk semua input.
- Anda dapat menggunakan bahasa pilihan Anda.
- Solusi terpendek menang!