Tulis program atau fungsi yang mengambil array bilangan bulat non-negatif sebagai input dan output satu set vektor / array dengan elemen-elemen dari array input secara berurutan, dibagi sehingga setiap vektor berjumlah hingga 15. Jika jumlah pertama Elemen N tidak "menekan 15", maka angka yang berhasil melewati 15 harus terpotong, dan sisanya akan menjadi elemen pertama dari vektor berikutnya. Ini berlangsung hingga Anda mencapai akhir array input. Jika jumlah vektor final kurang dari 15, maka angka harus ditambahkan di akhir untuk membuat jumlah naik.
Saya pikir aturannya lebih mudah dipahami dengan melihat contoh-contohnya:
Input: 3 7 5 10
Output:
3 7 5 <- Sum is 15
10 5 <- 5 is added to make the sum 15
Input: 2 4 5 9 2 3 5 0 2 4 5 0 3
Output:
2 4 5 4 <- Sum 15. 9 is split in two.
5 2 3 5 <- The first 5 is the remainder of 9
0 2 4 5 0 3 1 <- The last number is added to make the sum 15
Input: 1 1 1
Output:
1 1 1 12 <- The number 12 is added to make the sum 15
Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Output:
1 2 3 4 5
6 7 2 <- 2 is the first part of 8
6 9 <- 6 is the remainder of 8
10 5 <- 5 is first part of 11
6 9 <- 6 is remainder of 11. 9 is first part of 12
3 12 <- 3 is remainder of 12. 12 is first part of 13
1 14 <- 1 is remainder of 13. 14 is 14
15
15 <- 15 is first part of 16
1 14 <- 1 is remainder of 16. 14 is first part of 17
3 12 <- 3 is remainder of 17. 12 is added to make the sum 15
Input: 20 20
Output:
15
5 10 <- 5 is remainder from the first 20
10 5 <- 10 is remainder from second 20. 5 is added to make the sum = 15.
Baik input dan format output adalah opsional. Apapun yang terbaik dalam bahasa Anda.
Kode terpendek dalam byte menang.
Papan peringkat
Cuplikan Stack di bagian bawah posting ini menghasilkan katalog dari jawaban a) sebagai daftar solusi terpendek per bahasa dan b) sebagai leaderboard keseluruhan.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
## Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
## Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat nama bahasa menjadi tautan yang kemudian akan muncul di cuplikan:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
Input: 100 Output: 15; 15; 15; 15; 15; 15; 10 5
[[3, 7, 5], [10, 5]]
output yang valid untuk kasus uji pertama?