Tải bản đầy đủ (.doc) (3 trang)

Hướng dẫn làm bài tập số nguyên tố Lê hoàng bảo lâm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (65.37 KB, 3 trang )

Hướng dẫn làm
bài nguyên tố bằng Pascal
A-Định nghĩa
Số nguyên tố là số tự nhiên chỉ có 2 ước là một và chính nó
Vd: 2 17 19 23 …
B-Cách làm
Bước 1: kiểm tra xem một số có phải là số nguyên tố
Vậy từ định nghĩa đó để có thể kiểm tra một số có phải là số ngun tố thì ta làm
như sau:
Cách 1:
Ý tưởng: Ta xét từ 1 đến (số cần kiểm tra) xem số đó có bao nhiêu ước
Và nếu số ước là 2 thì số đó là NT.
Cách làm:
Nhập N:=?
Dùng biến d để đếm số ước
Chạy biến i từ 1 đến N
Nếu N chia hết cho i thì tăng d lên 1
Sau khi chạy xong j thì kiểm tra số biến d
Nếu d=2 thì N là NT và khác 2 thì khơng phải số ngun tố
Chú ý:
Kiểm tra nếu n<1 thì khơng phải là Nt
Chương trình:
Var i,n,d:integer;
Begin
Write('N=');readln(n);
If n<1 then write('KNT')
Else Begin
For i:=1 to n do
If n mod i=0 then inc(d){d:=d+1};
If d=2 then write('NT')
Else write('KNT');


End;
Readln;
End.


Cách 2:
Ý tưởng: Ta xét từ 2 đến (N-1) xem số đó có bao nhiêu ước
Và nếu số ước là 0 thì số đó là NT.
Cách làm:
Nhập N:=?
Dùng biến d để đếm số ước
Chạy biến i từ 2 đến N1
Nếu N chia hết cho i thì tăng d lên 1
Sau khi chạy xong j thì kiểm tra số biến d
Nếu d=0 thì N là NT và khác 0 thì khơng phải số nguyên tố
Chương trình:
Var i,n,d:integer;
Begin
Write('N=');readln(n);
If n<1 then write('KNT')
Else Begin
For i:=2 to n-1 do
If n mod i=0 then inc(d){d:=d+1};
If d=0 then write('NT')
Else write('KNT');
End;
Readln;
End.



Cách 3:
Ý tưởng: Ta xét từ 2 đến (phần nguyên của N ) xem số đó có bao
nhiêu ước
Và nếu số ước là 0 thì số đó là NT.
Vd: 6 (phần nguyên của N ) là
6 =2,……….
Phần nguyên của 6 là 2
Cách làm:
Nhập N:=?
Dùng biến d để đếm số ước
Chạy biến i từ 2 đến N1
Nếu N chia hết cho i thì tăng d lên 1
Sau khi chạy xong j thì kiểm tra số biến d
Nếu d=0 thì N là NT và khác 0 thì khơng phải số ngun tố
Chương trình:
Var i,n,d:integer;
Begin
Write('N=');readln(n);
If n<1 then write('KNT')
Else Begin
For i:=2 to n-1 do
If n mod i=0 then inc(d){d:=d+1};
If d=0 then write('NT')
Else write('KNT');
End;
Readln;
End.




×