pengantar
Ini adalah tindak lanjut dari tantangan ini di mana Anda berperan sebagai kembaran jahat orang itu. Menjadi jahat Anda tidak ingin memaksimalkan bagian Anda, tetapi bersikap tidak seadil mungkin dan Anda tidak akan membuatnya terlalu jelas, itu sebabnya Anda menemukan skema berikut:
Anda akan memberi tahu yang lain bahwa Anda ingin seadil mungkin seperti saudara Anda dan dengan demikian Anda akan membagi bilangan bulat menjadi potongan-potongan dengan panjang yang sama. Jadi untuk setiap bilangan bulat Anda akan menemukan jumlah orang yang tepat sehingga perbedaan antara bagian terbesar dan terkecil adalah maksimal.
Misalnya, jika Anda diberi bilangan bulat, 6567
Anda dapat membiarkannya apa adanya, membaginya menjadi dua bagian 65,67
atau empat 6,5,6,7
. Ini memberi Anda perbedaan maksimal berikut:
6567 -> max() = 0
65,67 -> max(|65-67|) = 2
6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2
Karena Anda hanya ingin menjadi jahat Anda tidak memilih 67
lebih 7
dan dengan demikian Anda akan menampilkan baik 2
atau 4
.
Lain (kasus kurang istimewa); diberi bilangan bulat 121131
Anda dapat membaginya seperti ini:
121131 -> max() = 0
121,131 -> max(|121-131|) = 10
12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20
1,2,1,1,3,1 -> max(…) = 2
Kali ini hanya ada satu solusi - yaitu 3
- karena dengan tiga orang perbedaannya maksimal.
Tantangan
Diberikan bilangan bulat menentukan cara apa pun yang memungkinkan untuk menjadi jahat secara maksimal dan melaporkan jumlah orang yang diperlukan untuk mencapai hal ini.
Aturan
- Masukan akan selalu ≥ 1
- Input dapat berupa bilangan bulat, daftar angka atau string
- Anda tidak harus menangani input yang tidak valid
testcases
Anda hanya perlu melaporkan jumlah orang yang diperlukan, partisi yang mungkin hanya untuk ilustrasi:
In -> splits (difference) -> Out
1 -> [1] (0) -> 1
10 -> [1,0] (1) -> 2
11 -> [11] or [1,1] (0) -> 1 or 2
12 -> [1,2] (1) -> 2
42 -> [4,2] (2) -> 2
101 -> [1,0,1] (1) -> 3
2222 -> [2222] or [22,22] or [2,2,2,2] (0) -> 1 or 2 or 4
6567 -> [65,67] or [6,5,6,7] (2) -> 2 or 4
123000 -> [123,000] (123) -> 2
123001 -> [123,001] (122) -> 2
121131 -> [12,11,31] (20) -> 3
294884 -> [294,884] (590) -> 2
192884729 -> [192,884,729] (692) -> 3
123456189012 -> [123456,189012] (65556) -> 2
123457117346 -> [1234,5711,7346] (6112) -> 3