Xin chào và chào mừng trở lại.
Tôi muốn đưa cho bạn một cái khác thử thách, nhiệm vụ khác.
Rõ ràng, điều này sẽ là tất cả về mảng.
Tôi muốn bạn làm quen với cách để sử dụng một mảng, cách truy cập một
mảng và cách tạo một mảng.
Vì vậy, bạn nên viết một chương trình c đó là sẽ tìm tất cả các số
nguyên tố từ 3 đến 100.
Và chúng tôi sẽ làm nó rất hiệu quả.
Vì vậy, chúng tôi sẽ sử dụng một chút thuật toán khiến bạn
sử dụng một mảng, nhưng chương trình rất đơn giản.
Nó sẽ hiển thị dưới dạng đầu ra, tất cả các số nguyên tố từ 3 đến 100.
Và lý do bạn không làm 0 để 3 là vì bạn sẽ viết những đoạn mã
khó, nó khá đơn giản.
2 đầu tiên 2 số nguyên tố đầu tiên của chúng ta là 1 và 2 khác 0.
Vì vậy, sẽ không có đầu vào vào chương trình này, chỉ cần xuất.
Và đầu ra sẽ là mỗi số nguyên tố cách nhau bởi
một khoảng trắng trên một dòng.
Nó khá cơ bản, tất cả các cách lên đến 100.
Bạn sẽ cần tạo một mảng sẽ lưu trữ
từng số nguyên tố khi nó được tạo.
Bạn có thể viết mã đầu tiên 2 số nguyên tố, là 2
và 3 trong mảng số nguyên tố.
Vì vậy, những gì tôi hình dung ở đây là bạn sẽ tạo một
mảng, bạn đặt tên nó là số nguyên tố và bạn sẽ chỉ mã cứng 2 đầu tiên trong đó.
Và điều quan trọng là mã cứng họ cũng vậy vì
thuật toán mà chúng tôi sẽ sử dụng để tìm số nguyên tố sẽ so sánh với bất kỳ
số nguyên tố nào khác và Tôi sẽ giải thích điều đó trong giây lát.
Bạn muốn sử dụng các vòng lặp cho phép gán này chỉ tìm các số
nguyên tố đến 100.
Vì vậy, ngay lập tức, bạn nên hình dung ít nhất một vòng lặp để hiển
thị các số nguyên tố mà bạn tìm thấy.
Vì vậy, đó có lẽ sẽ là kết thúc vòng lặp,
vòng lặp ở cuối chương trình của bạn mà chỉ đi qua mảng số nguyên tố và hiển thị
mọi thứ bên trong đó.
bây giờ nếu bạn đang tìm thấy tất cả các nguyên tố số lên đến 100, bạn sẽ
không cần phải tạo kích thước của mảng có lẽ hơn 50 vì tôi không nghĩ có
hơn 50 nguyên tố các con số, lên đến 100, nhưng bạn sẽ không thể đặt nó
chính xác một cách chính xác vì bạn không biết có bao
nhiêu số nguyên tố.
Vì vậy, tôi sẽ nói khi bạn tạo mảng số nguyên tố, chỉ cần tạo kích thước là 100.
Vì vậy, bạn chắc chắn cần một vòng lặp để in chúng ra ở cuối.
bạn sẽ cần một vòng lặp khác để cố gắng tìm các số nguyên tố.
Và bạn có thể tìm thấy các số nguyên tố bất kỳ thuật toán bạn muốn, nhưng những gì
tôi sẽ sử dụng là tôi sẽ sử dụng một cái gì đó như thế này bởi vì có nhiều lý do hơn để sử dụng một mảng
nếu bạn thực hiện thuật toán này.
Vì vậy, các tiêu chí có thể được sử dụng
để xác định một số nguyên tố là một số được coi là số nguyên tố nếu nó không chia hết cho bất kỳ số
nguyên tố nào khác trước đó.
Và còn nữa với thuật toán đó, nhưng đó
là điểm bắt đầu.
Bạn cũng muốn chỉ nhìn lên đến một số lượng nhất định.
Vì vậy, bạn có thể sử dụng phần sau như một điều kiện x trong vòng lặp trong cùng.
Vì vậy, một lần nữa, những gì bạn sẽ cần để có ở đây có lẽ
bạn sẽ cần phải có 2 vòng lặp.
Chúng tôi đã đề cập đến thứ ba ở
dưới cùng in ra dữ liệu, nhưng bạn sẽ cần có 2 vòng lặp cho bài tập này.
Và thuật toán mà tôi đang thảo luận đây là một thuật toán cải tiến hơn.
Vì vậy, đây là lý do tại sao bạn muốn làm điều đó.
Bây giờ nếu bạn muốn tìm số nguyên tố theo một cách khác, điều đó không
sao, miễn là bạn sử dụng một mảng vì toàn bộ
mục đích của nhiệm vụ không phải là để hiểu các số nguyên tố, nó để hiểu cách sử dụng mảng.
Bằng cách nhìn vào được tạo ra các số nguyên tố buộc bạn phải sử dụng
một mảng và bạn lưu trữ mỗi số nguyên tố khi nó được tạo ra
như tôi đã đề cập.
Và theo cách khác mà bạn có thể thực hiện nó thậm chí còn tối ưu hơn là bạn không muốn nhìn
vào số chẵn.
Vì vậy, nếu bạn đang xem xét từng số từ 3 đến 100 và bạn đang kiểm tra xem đó
có phải là số nguyên tố hay không, bạn có thể bỏ qua các số chẵn vì các số chẵn sẽ
không bao giờ là số nguyên tố.
Vì vậy, trong vòng lặp ngoài cùng hoặc vòng lặp trong cùng, bạn
có thể kiểm tra xem số nguyên tố có chia hết cho các số nguyên tố khác hoặc chắc chắn rằng nó không, bạn có thể kiểm
tra và bỏ qua nó.
Và sau đó điều kiện trục khác này trong vòng lặp trong cùng là để đảm
bảo rằng giá trị của p không vượt quá căn bậc hai của các số nguyên tố, đó là một phần
khác của thuật toán.
Vì vậy, điều này có thể không có ý nghĩa đầy đủ, nhưng về cơ bản đây là một số tiêu chí mà
tôi muốn bạn làm theo.
Bỏ qua bất kỳ kiểm tra nào cho các số chẵn, và sau đó thuật toán là
tìm kiếm bất kỳ số nguyên tố nào trước đó được tạo ra và cũng
để kiểm tra xem p có không vượt quá căn bậc hai của các số nguyên tố vì đó
là một cách kiểm tra một số nguyên tố.
Vì vậy, bạn sẽ cần phải có vòng lặp for về cơ bản đi
từ 5 đến 100 và sau đó bạn có thể tăng số đó lên 2 để bạn chỉ
tìm kiếm các số lẻ.
Và sau đó trong vòng lặp for bên trong, bạn có
bên trong đó, bạn sẽ muốn đi từ 1 cho đến giá trị p chia cho I nguyên tố lớn hơn
I nguyên tố.
Và có thể bạn cũng sẽ muốn làm chắc chắn rằng số đó không phải là số nguyên tố.
Vì vậy, bạn không muốn vượt quá một kiểm tra nhất định và sau đó bạn cũng muốn nhảy ra khỏi vòng lặp bên
trong nếu bạn thực sự tìm thấy một số nguyên tố.
Và đó là cách bạn có thể kiểm tra số nguyên tố nếu số hiện tại của bạn chia hết cho bất
kỳ số nguyên tố nào trước đó, vì vậy bạn có thể nhìn vào mảng số nguyên tố.
Và nếu mô-đun cho điều đó bằng 0, thì bạn không có
số nguyên tố.
Ngược lại, nếu bạn đã làm điều này kiểm tra toàn bộ trong toàn bộ
vòng lặp này và bạn đã thoát khỏi đó với vượt quá số nguyên tố con I
lớn hơn con số nguyên tố I là căn bậc hai vấn đề và bạn không thực sự tìm thấy
một số nguyên tố, thì điều đó có nghĩa là mà sau đó bạn có thể thêm số nguyên tố đó vào mảng số nguyên tố của mình và
sau đó chỉ cần in ra mảng số nguyên tố.
Vì vậy, thuật toán thực tế không có vẻ khó hiểu như tôi đang làm.
Một lần nữa, cố gắng cung cấp cho bạn như nhiều gợi ý mã giả ở đó
càng tốt với bên ngoài cho vòng lặp trong vòng lặp for bên trong.
Nhưng bạn sẽ cần truy cập mảng,
bạn sẽ đọc mảng, bạn sẽ xem một mảng để xem các giá trị trước đó.
Nó sẽ giúp bạn thực sự quen thuộc với mảng.
Vì vậy, chúc may mắn và tôi sẽ cung cấp giải pháp trong bài giảng tiếp theo sẽ có
ý nghĩa hơn nhiều, nhưng những là các yêu cầu và một số lượt truy cập.
Cảm ơn bạn.