cho số n = 15
- tìm 2 số nguyên tố nhỏ hơn n, hiển nhiên là từ 1 đến n - 1. Lần lượt xét từng giá trị xem có phải là số nguyên tố không?
1? no
2? yes => được 1 số
3? yes => được 2 số => xong phần nhỏ hơn
- Cải thiện
Nhận xét, 2 và 3 luôn là số nguyên tố nhỏ nhất, không còn số nguyên tố nào nhỏ hơn nữa, nên nếu có 2 (hoặc nhiều hơn) số nguyên tố nhỏ hơn n thì luôn luôn có số 2 và số 3.
Nên nếu n <= 3 thì không tìm được 2 số nguyên nhỏ hơn n
- Tìm 2 số nguyên tố lớn hơn, hiên nhiên nó phải là n + 1, n + 2…, cứ xét tăng dần
16? no
17? yes => được 1 số
18? no
19? yes => được 2 số => xong phần lớn hơn
đáp án cuối cùng: 2 3 17 19
chỉ có vậy thôi, bạn cũng không trình bày ra được, thì code cái gì nữa
tới đây, tư duy tới đây chưa có cái gì gọi là code hay lập trình cả
tiếp tục: đưa ý tưởng/tư duy/giải pháp ở trên vào code
- Hai số nguyên tố nhỏ hơn,
- n <= 3 thì dừng (hoặc báo lỗi hay gì đó thì đề không nói): if (n <= 3) { cout<<“khong xong roi dai vuong oi”; }
- trường hợp còn lại (là n > 3): else { // hai so nay chac chan la 2 va 3, khoi lam gi}
- Tìm hai số nguyên tố lớn hơn n.
- Như ở trên nói, số đó phải là n + 1, n + 2 …, tăng chừng nào tìm được thì thôi
i = n + 1; // bat dau tu n + 1, roi tang dan
while (chưa tìm đủ 2 số) {
// xử lý i
i++; // tăng i lên 1 để vòng lặp kế tiếp xử lý
}
- làm gì với vòng while đó? Xét số i có phải nguyên tố hay không?
nếu i là số nguyên tố:
if (i là số nguyên tố) {
// ghi nhận
if (đủ 2 số) {
// dừng vòng lặp bằn lệnh break hoặc bằng cách làm cho điều kiện trong câu while trên kia sai
}
}
nếu không phải thì không làm gì, nên cũng khỏi có thêm code gì
xong bước tìm 2 số lướn hơn thì xuất kết quả: count<<....
Hy vọng post này một phần nào đó giúp bạn cải thiện cách tư duy, cách đặt câu hỏi cũng như là thay đổi thái độ học của bạn. mãi đến cuối cùng thì bạn vẫn chưa trình bày được cái gì gọi là ý tưởng/phương pháp gì cả
Học toán, tư duy toán còn chưa xong nữa thì code cái gì, bản thân còn không biết mình muốn gì thì sao ra lệnh cho máy làm
Nói là muốn tìm số 2 nguyên tố lớn hơn và 2 số nguyên tổ nhỏ hơn n thì khác gì cái đề bài? có gì gọi là diễn giải?
Ngôn ngữ lập trình có gì?
- nhập
- xuất
- biến
- các phép tính
- lệnh điều kiện
- lặp
code gì đi chăng nữa thì cũng chỉ có bao nhiêu đó, nguyên tố là cái gì? nguyên tố nhỏ hơn là cái gì? tìm là cái gì? máy tính chả biết đâu