công thức số chẵn lớn nhất

  • Thread starter Thread starter hon7643
  • Ngày gửi Ngày gửi
Liên hệ QC

hon7643

Thành viên mới
Tham gia
14/4/09
Bài viết
48
Được thích
3
Mình thường làm công việc sắp xếp hàng hóa vào trong 1 diện tích cho trước sao cho được nhiều nhất, mình làm trên Corel, thấy trên diễn đàn hay quá mình tập tành làm thử, đọc các bài viết nhiều ngày nhưng chưa làm được

Giả sử diện tích cho trước có cạnh A=50, cạnh B=75, hàng hóa có cạnh a=10, cạnh b=15.
Đặt x=ROUNDDOWN(A/a,0)=5
Đặt y=ROUNDDOWN(B/b,0)=5
Đặt xx=ROUNDDOWN(A/b,0)=3
Đặt yy=ROUNDDOWN(B/a,0)=7

Cách 1: sắp xếp sao cho hàng hóa có số lượng nhiều nhất
(mình làm công thức =MAX(x*y,xx*yy), ra kết quả là 25)

Cách 2: sắp xếp sao cho hàng hóa có số lượng nhiều nhất mà phải là số chẵn
(mình nghiệm thấy x*y=25, xx*yy=21, (max(x,y)-1)*min(x,y)=20, (max(xx,yy)-1)*min(xx,yy)=18. Để chọn ra kết quả là số chẵn mà lớn nhất – tức là 20, mình loay hoay với công thức IF, MAX, MOD và bó tay…

Với cách 1, mình làm ra kết quả = 25, thấy thỏa mãn lắm
Với cách 2, mình nghiệm thấy kết quả là =20, nhưng làm không được
Các bạn giúp với – cảm ơn nhiều
 
Mình thường làm công việc sắp xếp hàng hóa vào trong 1 diện tích cho trước sao cho được nhiều nhất, mình làm trên Corel, thấy trên diễn đàn hay quá mình tập tành làm thử, đọc các bài viết nhiều ngày nhưng chưa làm được

Giả sử diện tích cho trước có cạnh A=50, cạnh B=75, hàng hóa có cạnh a=10, cạnh b=15.
Đặt x=ROUNDDOWN(A/a,0)=5
Đặt y=ROUNDDOWN(B/b,0)=5
Đặt xx=ROUNDDOWN(A/b,0)=3
Đặt yy=ROUNDDOWN(B/a,0)=7

Cách 1: sắp xếp sao cho hàng hóa có số lượng nhiều nhất
(mình làm công thức =MAX(x*y,xx*yy), ra kết quả là 25)

Cách 2: sắp xếp sao cho hàng hóa có số lượng nhiều nhất mà phải là số chẵn
(mình nghiệm thấy x*y=25, xx*yy=21, (max(x,y)-1)*min(x,y)=20, (max(xx,yy)-1)*min(xx,yy)=18. Để chọn ra kết quả là số chẵn mà lớn nhất – tức là 20, mình loay hoay với công thức IF, MAX, MOD và bó tay…

Với cách 1, mình làm ra kết quả = 25, thấy thỏa mãn lắm
Với cách 2, mình nghiệm thấy kết quả là =20, nhưng làm không được
Các bạn giúp với – cảm ơn nhiều
Bài toán này không đơn giản như bạn nghĩ đâu. Trường hợp bạn thử đúng chỉ là ngẫu nhiên vì trường hợp này các cạnh của diện tích cho trước đều là bội số của các cạnh của hàng hóa.
Bây giờ tôi ví dụ khác bạn một chút: A = 50, B = 85, a = 10, b = 15
Theo công thức của bạn thì:
x =ROUNDDOWN(A/a,0)=5
y =ROUNDDOWN(B/b,0)=5
xx=ROUNDDOWN(A/b,0)=3
yy=ROUNDDOWN(B/a,0)=8
MAX(x*y,xx*yy)=25
Nhưng trên thực tế chúng ta có thể xếp 28 hàng hóa vào diện tích đó.
 
Cảm ơn bạn bạn huuthang đã cho ý kiến.
Trong ví dụ, mình đang loại cách sắp xếp đảo chiều (như 85/15=5, số dư 10 có thể đảo chiều - nhưng mình đang bỏ qua phần dư nên chắc là công thức trả về =25 tạm chấp nhận.
mình đang tập tễnh nên viết được cái MAX thì mừng lắm, nhưng hổng làm được công thức cho ra số chẵn
 
Lần chỉnh sửa cuối:
Cảm ơn bạn bạn huuthang đã cho ý kiến.
Trong ví dụ, mình đang loại cách sắp xếp đảo chiều (như 85/15=5, số dư 10 có thể đảo chiều - nhưng mình đang bỏ qua phần dư nên chắc là công thức trả về =25 tạm chấp nhận.
Code bạn viết cho mình thì áp dụng như thế nào - chỉ mình với
Đâu có code gì đâu, đó là chữ ký thôi. Nếu bạn muốn ra kết quả 20 theo như bạn nói thì dùng công thức này:
max((max(x,y)-1)*min(x,y),(max(xx,yy)-1)*min(xx,yy))
Nhưng tôi có thắc mắc thế này, số lớn nhất là 25 (theo cách tính của bạn) thì số chẵn lớn nhất đúng ra phải là 24 chứ, sao bạn lại chấp nhận với kết quả là 20???
 
mình có thử công thức như bạn gơi ý, nó có kết quả là MAX(5*4,3*6) = 20, nhưng yêu cầu mà mình phải làm là: nếu theo cách tính 1 thì MAX(...) = 25, còn nếu theo cách tính 2 thì MAX(... phải là số chẵn) = 20.
Xin nói thêm: số chẵn lớn nhất không phải là 24 (vì như vậy sẽ trống 1 chỗ), người ta không chịu, ví dụ như mình xếp 1 cạnh = 5, 1 cạnh = 4, thì xếp được 20 chỗ
 
Mình đang nghĩ là sẽ làm với công thức diễn giải nôm na như sau:

---Nếu tìm "theo cách 1" thì MAX(x*y,xx*yy), còn nếu tìm "theo cách 2" thì MAX(x*y,xx*yy,(max(x,y)-1)*min(x,y),(max(xx,yy)-1)*min(xx,yy))--- kèm theo điều kiện là số lớn nhất được tìm thấy trong hàm max phải chia chẵn cho 2

---Mình muốn có kết quả là: Nếu tìm theo "cách 1" thì MAX(25,21)---kết quả sẽ là 25, còn nếu tìm "theo cách 2" thì chọn số lớn nhất chia chẵn cho 2 trong dãy số (25,21,20,18)---kết quả sẽ là 20

---Suy nghĩ thì như vậy, nhưng loay hoay hoài hổng ra.

Các bạn chỉ giúp mình với !!!
 
---Mình muốn có kết quả là: Nếu tìm theo "cách 1" thì MAX(25,21)---kết quả sẽ là 25, còn nếu tìm "theo cách 2" thì chọn số lớn nhất chia chẵn cho 2 trong dãy số (25,21,20,18)---kết quả sẽ là 20

Bài này nếu như bạn dùng cột phụ và trình bày bảng tính rõ ràng chút xíu là giải quyết được ngay! Bạn xem file đính kèm nhé!
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bạn BNTT, mình đã cố gắng tìm bài tương tự trên diễn đàn mà không ra, cách mà bạn chỉ cho mình sẽ giúp mình học được nhiều hơn cái mà mình hỏi

Cảm ơn bạn ca_dafi đã giúp mình giải bài tập, mình đang nghiệm để hiểu thấu đáo hơn.
Bạn dùng cột phụ "method_1" và "method_2" thì bài tập đã được giải quyết xong, cho mình hỏi bạn có thể giúp bỏ 2 cột phụ trên mà vẫn có kết quả như mong muốn.
Trước khi nhờ bạn cải tiến công thức, mình cũng cố gắng mày mò thử (để gọi là ham học thôi chứ kết quả vẫn như cũ)
 

File đính kèm

Web KT

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

Back
Top Bottom