Lấy ngẫu nhiên n số không trùng, với trung bình cộng bằng 1 số cho trước (1 người xem)

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

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

ptm0412

Bad Excel Member
Thành viên BQT
Administrator
Tham gia
4/11/07
Bài viết
14,545
Được thích
37,252
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Có 1 bài toán thế này:

Some one on fb đã viết:
Hiện tại em cần viết một hàm lấy ngẫu nhiên n số trong 300 số cho trước, điều kiện là các số không trùng nhau và trung bình cộng n số đó bằng 1 hằng số

Tôi đề nghị 1 thuật toán như thế này:

- Đặt 1 biến Avr = trung bình cộng cho trước, n = số lượng số cần tìm, X = số lượng số cho trước
- Lấy ngẫu nhiên số đầu tiên
- Tìm số thứ 2 bằng Avr x 2 - số thứ 1. Nếu không có số chính xác thì lấy số gần nhất
- Lấy ngẫu nhiên số thứ 3, điều kiện khác 2 số trên
- Tìm số thứ 4 giống cách tìm số thứ 2, điều kiện khác 3 con phía trên
- Lập lại đến khi có n - 1 con số
- Tìm con số thứ n = trung bình của các số phía trước
- Trường hợp tìm thấy: kết thúc
- Trường hợp không tìm thấy: Lặp lại từ đầu.
- Lặp một số lần vẫn không thấy thì ngưng.


Tôi tranh thủ viết 1 đoạn:
- Chưa bắt trùng
- Không tìm thấy thì lấy kết quả gần gần giống (sai số trung bình cộng nhỏ hơn 1)
- Kết quả: chưa lần nào được kết quả chính xác

Các bạn có hứng thú thì làm giúp (tại tôi bận quá không giúp bạn ấy được)

File đính kèm:
Cột A chứa 300 con số ngẫu nhiên
B1 là số lượng số cần lấy
B2 trở xuống là kết quả
C1 là trung bình cộng mong muốn
D1 là trung bình cộng của kết quả
E1 là số đếm duy nhất của kết quả
F1 là thời gian chạy
 

File đính kèm

Lần chỉnh sửa cuối:
Cái này như chủ topic muốn kiểu ma số thì phải?

ma số là cái quái gì?
Chủ thớt là người từng nói chuyện ở đây đầy kinh nghiệm, muốn nói gì thì anh/chị ấy nói rất rõ. Không có chuyện mập mớ để hiểu lầm.
Bài toán này được chủ thớt đưa ra với thiện ý cùng tham khảo thuật toán.

Từ đầu đến cuối mọi người đều hiểu rõ vấn đề của bài toán. Bạn không cần phải giải thích chen thêm.
 
Upvote 0
Web KT

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

Back
Top Bottom