Mình dùng 1 bảng test khác để thử công thức của tiền bối
ndu96081631 ( mình rất thích ý tưởng của
ndu96081631, vì mình dùng công thức excel chủ yếu để chủ động )
và mình gửi lại 1 file có vẻ chưa đc thuận lợi lắm. Nên mặt dày mong các bạn xem giúp mình. Vấn để là ở SheetB1 và cột chênh lệch
(. mình tính cho 2 cột này =0
Mong các bạn giúp mình hướng giải quyết với
Bạn ạ, bạn nói tôi không hiểu. Dữ liệu dù thế nào chăng nữa thì "qui tắc chan" do bạn đặt ra, sao bạn lại nói là phải "trải nghiệm" gì đó thì mới ra qui tắc chan?
Tôi đã đọc tới bài #24 và vẫn chưa biết "qui tắc" chan của bạn thế nào.
Đọc bài đầu của bạn khó hiểu nên tôi đọc file.
Ta có số k nguyên dương và số ô là n < k. Khi chia k cho n ta được thương m và số dư r. Ta nhập vào các ô giá trị m. Tiếp theo ta xét r. Nếu r = 0 (chia hết) thì thôi. Nếu r > 0 thì số dư này ta chia đều cho một số ô p với p < n (do p <= r < n). Do p < n nên ta sẽ thêm cho một số ô (chứ không phải cho tất cả) trong n ô, vì vậy ta phải chọn ngẫu nhiên p ô trong n ô. Tới chỗ này tôi hiểu. Nhưng ...
a. lúc nào thì ta chọn p = r và mỗi ô sẽ được +1 (dòng 1 của vd. giả lập có p = r = 2)
b. Lúc nào thì chọn p < n (dòng 2 có p = 3 < 4 = r). Và nếu chọn p < r thì thì sau khi +1 (hoặc 2, 3, ...) cho mỗi ô được chọn ngẫu nhiên thì vẫn còn "thừa" 0 <= r1 < p, vậy thì số thừa này sẽ được sử dụng như thế nào? Nhìn vào dòng 2 tôi có cảm giác là bạn sẽ tiếp tục chọn ngẫu nhiên p1 ô (p1 <= r1) trong p ô được chọn ngẫu nhiên. Cái này với vd. 2 nó là:
k = 24, n = 5 => m = 4, r = 4. Chọn p = 3 (chọn được B, D, E) => +1 vào B, D, E và còn r1 = 1. Cái 1 này ta cộng vào 1 ô ngẫu nhiên (p1 = 1) từ 3 ô (p = 3) B, D, E. Ta có 1 ô ngẫu nhiên này là B, vậy cộng thêm 1 vào B.
Tôi thử đoán "qui tắc" chan thế nào:
Dữ liệu đầu vào: Có n ô và giá trị k nguyên dương với k >= n. Ta thực hiện các bước:
1. Ta chia k cho n được thương là m và số dư là r. Ta cộng vào mỗi ô đã cho giá trị m. Nếu r = 0 thì kết thúc, nếu r > 0 thì làm tiếp bước 2.
2. Trước tiên ta chọn p (tức số các ô sẽ được chọn ngẫu nhiên - do có thể p = n (dòng 1) hoặc p < n - dòng 2) trong khoảng 1 --> r. Sau khi có p <= n rồi thì ta chọn p ô ngẫu nhiên từ n ô. Có được p ô ngẫu nhiên rồi thì quay lại bước 1 nhưng với tập số liệu mới: n = p, k = r
Với "qui tắc" như trên thì vd. dòng 7 với n = 5, k = 34 sẽ được diễn giải như sau:
m = k \ n = 6, r = k mod n = 4. Ta cộng 6 vào các ô A, B, ..., E. Do r > 0 ta làm tiếp bước 2. Trước tiên ta chọn số ô ngẫu nhiên trong khoảng 1 --> 4, được p = 3. Ta chọn 3 ô ngẫu nhiên trong 5 ô (A, B, ..., E) và được các ô A, B, E. Ta quay lại bước 1 với n = p = 3 (3 ô A, B, E) và k = r = 4. Với tập giá trị mới này ta có m = k \ n = 1, r = k mod n = 1. Ta cộng 1 (tức m) vào các ô A, B, E - tới chỗ này thì có A = B = E = 7, C = 6, D = 6. Do r = 1 > 0 nên ta làm tiếp bước 2. Trước tiên ta chọn số p, tức số các ô ngẫu nhiên cần chọn. Do r = 1 nên số các ô cần chọn p = 1 (chọn p ngẫu nhiên trong khoảng 1 --> r, tức trong 1 --> 1). Ta chọn p = 1 ô ngẫu nhiên trong 3 ô A, B, E (do n = 3). Ta chọn được ô A. Ta quay lại bước 1 với tập dữ liệu mới: n = p = 1 (1 ô duy nhất, cụ thể là ô A), k = r = 1. Với dữ liệu mới này thì m = k \ n = 1, r = k mod 1 = 0. Ta cộng thêm vào ô A giá trị m = 1. Do r = 0 nên "trò chơi" kết thúc tại đây. Kết quả ta có A = 8, B = 7, C = D = 6, E = 7
Nếu "qui tắc" chan của bạn đúng như thế thì tôi cũng đã "vô tình" phát biểu nó ở dạng thuật toán mất rồi. Bây giờ thì chả còn "cơ hội" để mò tìm thuật toán nữa. Chỉ còn phải code thôi.
-----------
Nếu qui tắc chan của bạn không đúng như trên thì tôi hỏi:
qui tắc chan của bạn thế nào? Không thể nói là phải "trải nghiệm" mới ra qui tắc chan. Qui tắc là do bạn đặt ra, bạn muốn thế nào thì phải thế ấy, thế thôi. Nếu cái qui tắc mà bạn "thích như thế" nó có mâu thuẫn (cái kiểu: tôi muốn ăn cái bánh nhưng vẫn còn lại cái bánh) thì mọi người sẽ chỉ ra.
Đã là qui tắc thì bắt buộc bạn phải phát biểu ở dạng tổng quát. Các ví dụ chỉ là giúp làm sáng tỏ qui tắc khi cái qui tắc đó nó hơi rắc rối, khó hiểu.
Tôi thấy một vài bạn có vẻ hiểu ý tác giả, vậy các bạn có thể phát biểu cái "qui tắc" chan của tác giả thế nào không? Các bước thao tác như thế nào? Nếu không biết qui tắc thì làm sao thao tác được?