Một số tự nhiên N (N>1) là số nguyên tố nếu N có đúng hai ước số là 1 và N. Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, 13, 17, 19, 23, …
Tính chất đơn giản sau của số nguyên tố:
+ Trừ số 2 các số nguyên tố còn lại đều là số lẻ.
+ Trừ số 2, số 3 các số nguyên tố có dạng 6𝑘 ± 1 vì số có có dạng 6𝑘 ± 2
thì chia hết cho 2, số có dạng 6𝑘 ± 3thì chia hiêt cho 3.
Bài toán cơ bản:
Cho số tự nhiên N. Hãy cho biết N có phải là số nguyên tố hay không?
Dữ liệu vào: Đọc từ tệp SNT.Inp gồm một dòng duy nhất chứa số nguyên
N (1<=n<=109).
Dữ liệu ra: Ghi kết quả ra tệp SNT.Out số 1 nếu N là số nguyên tố, ngược
lại thì ghi số 0. Ví dụ
SNT.inp SNT.out
13 1
100 0
Phân tích bài toán:
Để kiểm tra số nguyên dương N(N>1) có là số nguyên tố không, ta kiểm tra xem có tồn tại một số nguyên k (2<=i<=N-1) mà i là ước của N ( N chia hết i) thì N không phải là số nguyên tố, ngược lại N là số nguyên tố.
Nếu N(N>1) không phải là số nguyên tố, ta luôn có thể tách N =i1*i2 mà (2<= i1<=i2 <=N-1). Vì i1*i1<= i1*i2=N nên i1<=√𝑁. Do đó, việc kiểm tra với i từ 2 đến N- 1 là không cần thiết, mà chỉ cần kiểm tra i từ 2 đến √𝑁. Khi đó, ta có chương trình:
Dựa vào tính chất: Trừ số 2, số 3 các số nguyên tố đều có dạng 6𝑘 ± 1. Vậy ta chỉ cần kiểm tra xem N có chia hết cho số 2, số 3 và các số có dạng 6𝑘 ± 1