Biểu diễn bài toán cổ đại ra Excel bởi VBA

Liên hệ QC

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,382
Được thích
3,536
Giới tính
Nam
Tôi thấy trong giai thoại toán học có bài toán, chưa có lời giải
nay muốn GPE giúp đỡ biễu diễn ra Excel
Để mọi người trên GPE cùng nhau giải bài toán
Bài toán thế này:
Có vòng tròn chạy từ 1 đến số cho trước (giống đồng hồ), Ta phải loại bỏ số để tìm ra được số cuối cùng , phương pháp loại : cách một số bỏ đi một số bắt đầu từ số 1 theo vòng tròn liên tục
Luật chơi của bài toán: chỉ được tính nhẩm
Ví dụ:
Có 12 số từ 1 đến 12, Cách 1 bỏ 2, cách 3 bỏ 4,các số còn lại 1,3,5,7,9,11 , tiếp tục loại đi theo vòng tròn
,11 đã bỏ 12, tiếp tục 1 bỏ 3, 5 bỏ 7, 9 bỏ 11, các số còn lại ở vòng loại này là 1,5,9, vì 9 đã bỏ 11 (số cuối của vòng loại này, nên 1 bỏ 5 và 9 bỏ 1, vậy 9 là số còn lại.

Với 13 số 1 đến 13, khi loại còn lại 1,3,5,7,9,11, đến 13 sẽ bỏ 1
Vòng tròn đầu
1 2 3 4 5 6 7 8 9 10 11 12 13
Lặp nên 1 vòng mới sau khi đã loại
1 3 5 7 9 11 13 vì 13 là cuối vòng nên quay về loại số 1 để tiếp tục
13 bỏ 1, 3 bỏ 5, 7 bỏ 9, 11 bỏ 13
Có vòng mới còn 3 số
3 7 11
Tiếp tục sẽ là 3 bỏ 7, và 11 loại 3, số cuối cùng là 11
Nếu theo vòng tròn sẽ như thế này:
1 2 3 4 5 6 7 8 9 10 11 12/ 1 3 5 7 9 11/1 5 9/1 9/9
1 2 3 4 5 6 7 8 9 10 11 12 13 / 1 3 5 7 9 11 13 /3 7 11/ 3 11/11
(Ví dụ nằm ở Sheet VongTron)
Mong GPE giúp tạo một code để biễu diễn bài toán trên, khi thay đổi số cho trước thì code thực hiện.
Xin chân thành cảm ơn! (tôi có File bên dưới)
Một số kết quả để so sánh:
Với 500000 số cho kết quả là 474513
Với 56789 số là 48043
Với 656434 số là 264293
 

File đính kèm

  • LoaiVongTron.xlsm
    25.4 KB · Đọc: 18
Lần chỉnh sửa cuối:
Tôi xem file và đoán dụng ý của tác giả, chủ thớt không hỏi công thức, mà hỏi cách biểu diễn quá trình xử bắn, đầu tiên là có bao nhiêu người, bắn lần một thì còn bao nhiêu người, đó là những ai.
Người ta không biết cách trình bầy thôi. Những chỗ đỏ đỏ nói lên mục đích tìm số cuối cùng còn lại.
Bài toán thế này:
Có vòng tròn chạy từ 1 đến số cho trước (giống đồng hồ), Ta phải loại bỏ số để tìm ra được số cuối cùng , phương pháp loại : cách một số bỏ đi một số bắt đầu từ số 1 theo vòng tròn liên tục
Luật chơi của bài toán: chỉ được tính nhẩm
Một số kết quả để so sánh:
Với 500000 số cho kết quả là 474513
Với 56789 số là 48043
Với 656434 số là 264293
Cái biểu diễn kia chỉ là để minh họa cách tính, cách loại lần lượt được thực hiện như thế nào. Gọi là minh họa.
Chỗ xanh ý nói là khi ta có n cho cụ thể thì phải tính nhanh được số cuối cùng còn lại chứ không phải là làm các thao tác xóa lần lượt. Tức có một công thức nào đó tính ra luôn số cuối cùng mà không phải xóa lần lượt. Công thức này thì dần dần trong bài sau đó chủ thớt có đưa ra.
Dòng
Luật chơi của bài toán: chỉ được tính nhẩm
có ý là khi chơi thì không chạy code gì cả mà chỉ nhẩm trong đầu (có những thần đồng tính căn, lũy thừa, lô ga rít trong đầu mà) hoặc bấm calculator.

Bình thường thì cứ nói thẳng ra, hỏi thẳng: "công thức tính người cuối có không, chứng minh nó thế nào?". Nhưng chủ thớt lại đi vòng vo :D
 
Upvote 0
Web KT
Back
Top Bottom