có những cái stickly nên bỏ đi là vừa, stickly về clb Vb chẳng hạn, cái đó có mấy người coi đâu
có những cái stickly nên bỏ đi là vừa, stickly về clb Vb chẳng hạn, cái đó có mấy người coi đâu
Ugg, cái này dùng sàng Eratosen thôi mà (có điều viết bằng VB thì chỉ giới hạn N khoảng 20 000 000 thôi)
Sàng Eratosen ai mà chẳng biết
Viết toàn bộ các số từ 2 đến N
2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17
Gạch tất cả các số chia hết cho số đầu tiên (trừ chính nó - là 2), sau đó gạch tất cả các số chia hết cho số tiếp theo không bị gạch (trừ chính nó - là số 3)...
Còn những số nào không bị gạch chính là số nguyên tố
Theo như tài liệu của em thì hiện nay, để liệt kê các số nguyên tố có phạm vi nhỏ (khoảng dưới 1 tỉ) thì người ta vẫn dùng phương pháp này (có điều là đôi chút cải tiến - cải tiến thế nào thì em không biết) - có nghĩa là chưa có phương pháp nào mới...
Nói chung để tìm những thuật giải về toán học - các bác nên đọc sách một cách bài bản - chứ tự nghĩ ra chưa chắc đã tối ưu , người ta đã phát triển vượt qúa giới hạn tư duy của mình rồi
ugg đọc lại thì thấy bác WALL giới hạn có 1 000 000, thế thì ct của em vừa nhập vào nó đã ra ngay
Nếu được dung 1 cái ocx thì play nốt nhạc dễ như ăn chuối.
Nhưng ko được dùng. hu . hu
thế mà walls kô biết cái này đấy, hay có lẽ là walls ít nghiên cứu pascal wáSàng Eratosen ai mà chẳng biết
- viết các số nguyên từ trái qua phải
- lấy số 2
- loại bỏ mọi số chia hết cho 2
- tìm số nhỏ nhất >2 chưa bị loại bỏ (gọi là a) -> lấy a
- loại bỏ mọi số chia hết cho a
- tìm số nhỏ nhất >a chưa bị loại bỏ (gọi là b) -> lấy b
- loại bỏ mọi số chia hết cho b
- tiếp tục cho đến khi không làm được nữa.
=> những số chưa bị loại bỏ thì là số nguyên :-)
Nếu làm khéo thì với 1.000.000 số, bạn chỉ cần một mảng với kích thước là 125.000 byte.
Bác WR chỉ giáo cho em vớiBài viết được gửi bởi White_Rose
Nếu làm khéo thì với 1.000.000 số, bạn chỉ cần một mảng với kích thước là 125.000 byte.
UI may bac chi toa`n che nguoi khac khong, tui hong thay cai thuat giai ne`o o day het, khong co 1 cai code nua. Chi toa`n la` noi. He he
Vì chỉ cần lưu có/không, bạn sử dụng 1 byte để lưu cho 8 số (mỗi số 1bit).
cách xác định như sau:
dim so(0 to 31249) as long
giả sử bạn cần mark số x:
vị trí của nó:
x \ 32
vị trí bít cần mark:
x mod 32 (với các bit dánh dấu là 1 ... 32)
Bookmarks