01/10/2018, 10:46

Kiểm chứng giả thuyết GOLDBACH

mọi người giúp mình bài này với ạ.mình nghĩ nãy giờ rồi mà ko ra
(Tên file bài làm GOLDBACH.PAS) Một giả thuyết chưa được chứng minh trong toán học của Goldbach: Mọi số chẵn lớn hơn 2 đều có thể phân tích thành tổng của hai số nguyên tố: Chẳng hạn: 4 = 2 + 2; 6 = 3 + 3; 10 = 3 + 7. Hãy kiểm chứng giả thuyết này: Nhận vào số chẵn

Triet viết 13:01 ngày 01/10/2018

B1: Chọn a là số nguyên tố lớn nhất mà bé hơn n.
B2: Kiểm tra (n-a) xem có phải số nguyên tố không.
B3: Nếu đúng thì b = (n-a). Xuất ra cặp (a, b).
B4: Nếu không thì tìm chọn số nguyên tố nhỏ hơn tiếp theo là a, quay lại B2.

rogp10 viết 12:53 ngày 01/10/2018

^ a sẽ gần với n/2 hơn là 2 đấy bạn

Bài này sàng không nổi chắc phải dùng RM với 10^8 trở đi.

nắng viết 12:58 ngày 01/10/2018

10

RM??là gì vậy bạn???

HK boy viết 12:47 ngày 01/10/2018

Kiểm tra nguyên tố Miller-Rabin thì phải.

nắng viết 12:48 ngày 01/10/2018

Mình nghĩ làm như vậy ko đc.vì phải chạy lặp 5*10^8 lần

nắng viết 12:53 ngày 01/10/2018

B1: Chọn a là số nguyên tố lớn nhất mà bé hơn n.
B2: Kiểm tra (n-a) xem có phải số nguyên tố không.
B3: Nếu đúng thì b = (n-a). Xuất ra cặp (a, b).
B4: Nếu không thì tìm chọn số nguyên tố nhỏ hơn tiếp theo là a, quay lại B2.

Làm như bạn thì tối đa phải chạy lặp 5*10^8 lần đấy

rogp10 viết 12:48 ngày 01/10/2018

Thực ra có hai hướng làm: một là chỉ dùng RM (+ chia thử), hai là dùng sàng sau đó RM (để ăn test max).

nắng viết 13:00 ngày 01/10/2018

Bạn nói rõ hơn được ko.mình vẫn chưa rõ lắm làm sao sàng đc 1 số to như thế

HK boy viết 12:50 ngày 01/10/2018

Sàng nguyên tố đến 10^6 thôi. Nếu muốn kiểm tra số nguyên tố với số N cỡ 10^9 thì chạy kiểm tra tất cả các số nguyên tố trong khoảng từ 2 -> sqrt(N)

rogp10 viết 12:52 ngày 01/10/2018

Bạn nói rõ hơn được ko.mình vẫn chưa rõ lắm làm sao sàng đc 1 số to như thế

Chọn delta rồi sàng trong đoạn [n/2-delta..n/2]. Do tổng Goldbach có mật độ khá dày (chỉ thua số nguyên tố) nên chọn delta từ 5k trở lên.

Lương Thế Hải viết 12:52 ngày 01/10/2018

Đầu tiên, tìm tất cả các số là số nguyền tố từ 2 đến n / 2.
Tiếp theo, với lần lượt từng số đó thử xem hiệu n và số đó có phải là số nguyên tố không
Nếu đúng -> kết quả

rogp10 viết 12:58 ngày 01/10/2018

n <= 10^9… mình từng sàng từ đầu rồi, mất thời gian lắm

nắng viết 12:46 ngày 01/10/2018

[n/2-delta…n/2]

mình vẩn chưa hiểu khoảng này là khoảng nào.bạn giả thích thêm chút đi

Do tổng Goldbach có mật độ khá dày (chỉ thua số nguyên tố) nên chọn delta từ 5k trở lên.

cả phần này nữa

Bài liên quan
0