Tôi đang lập trình bằng java và tôi cần xây dựng một thuật toán. Các yêu cầu của thuật toán là:chia một số nguyên thành phần k
- Chúng tôi có 3 biến Integer
n
,m
,k
; - Chúng tôi muốn chia
n
vàok
phần sao cho tổng cáck
-parts đều bình đẳng đển
và mỗi phần là một số nguyên giữa1
vàm
. - Chúng tôi muốn tất cả các kết hợp có thể có với số nguyên được phép.
Ví dụ với bộ đầu vào:
n = 7; m = 3; k = 4
chúng ta có hai kết hợp khác nhau mà chúng ta có thể xây dựng:
7 = 2 + 2 + 2 + 1
và
7 = 3 + 2 + 1 + 1
cảm ơn tất cả các bạn.
Điều này có mùi giống như vấn đề NP-hard. Hy vọng rằng ai đó có thể đặt tên cho vấn đề để làm cho tìm kiếm của bạn dễ dàng hơn –
Bạn muốn "phân chia" chính họ hoặc chỉ đếm của họ (có bao nhiêu đơn vị tồn tại)? – amit
Tôi không chắc chắn điều này chính xác thuộc về thẻ java. Câu hỏi ở đây là nhiều vấn đề về thuật toán hơn là một vấn đề java.Việc triển khai java không phải là một vấn đề khi bạn có thuật toán – LBes