(Nho giup) tim gia tri thoa dieu kien (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

vib1191

Thành viên mới
Tham gia
8/4/24
Bài viết
6
Được thích
2
Các bạn giúp mình với ạ,

Có 1 dãy số A1; A2; A3; … A10

Nếu B > A1; A2; A3; … A10 thì lấy giá trị tổng của A1; A2; A3; … A10

Nếu B<A1, A1, A2, …A10 lấy giá trị nhỏ nhất của A1, A1, A2, …A10 mà đáp ứng được điều kiện lớn hơn B

Nếu A1, A1, A2, …A10 < B < A1+A2+…+A10; lấy giá trị tổ hợp cộng (A1+A2; A3+A4+A5; A2+A3+A7+A9,...) nhỏ nhất mà đáp ứng điều kiện lớn hơn B.

Cảm ơn các bạn nhiều
 
Các bạn giúp mình với ạ,

Có 1 dãy số A1; A2; A3; … A10

Nếu B > A1; A2; A3; … A10 thì lấy giá trị tổng của A1; A2; A3; … A10

Nếu B<A1, A1, A2, …A10 lấy giá trị nhỏ nhất của A1, A1, A2, …A10 mà đáp ứng được điều kiện lớn hơn B

Nếu A1, A1, A2, …A10 < B < A1+A2+…+A10; lấy giá trị tổ hợp cộng (A1+A2; A3+A4+A5; A2+A3+A7+A9,...) nhỏ nhất mà đáp ứng điều kiện lớn hơn B.

Cảm ơn các bạn nhiều
Bạn nên đính kèm file và kết quả mong muốn luôn.
 
Nếu B > A1; A2; A3; … A10 thì lấy giá trị tổng của A1; A2; A3; … A10
=> IF(B1 > MAX(A1:A10), SUM(A1:A10))

Nếu B<A1, A1, A2, …A10 lấy giá trị nhỏ nhất của A1, A1, A2, …A10 mà đáp ứng được điều kiện lớn hơn B
=> MIN(IF(A1:A10 > B1,A1:A10))

Còn ý cuối lười thử quá, mời các bác tiếp tục.
 
Bài này là bài toán mở thêm của "Bài Toán Ba lô/ Knapsack Problem", công thức rất khủng. Theo tôi nếu dùng phiên bản 365 thì hàm Lambda sẽ giúp cho loop dễ hơn.
 
@Chủ bài đăng: Sao bạn riêng tiêu đề lại viết không dấu tiếng Việt làm vậy;
Sửa lại cho đúng nội 2ui đi nha!

[Lần sau tái phạm sẽ vô thùng rác đó nha!]
 
Web KT

Bài viết mới nhất

Back
Top Bottom