Tin học pascal: cấu trúc lặp

Lê Thị Hàn

Học sinh
Thành viên
10 Tháng năm 2018
105
13
36
21
Thái Nguyên
THPT Chuyên Thái Nguyên

ĐứcNhật!

Học sinh tiêu biểu
Thành viên
17 Tháng mười một 2017
1,525
3,788
529
Quảng Nam
Trung Học Phổ Thông Chuyên Nguyễn Bỉnh Khiêm
bài 7: Nhập số nguyên dương n, kiểm tra xem n có phải số nguyên tố trong tập số nguyên dương hay không
mọi người ơi ai biết làm, giúp mình với, mình cảm ơn trc ạ
Mã:
Program so_nguyen_to;
Uses crt;
Var a: longint;
Begin
clrscr;
Write('Nhap mot so bat ki: '); readln(a);
For i:=1 to a-1 do
If a<2 then Write(a,' khong phai so nguyen to');
If a mod i = 0 then write(a,' khong phai so nguyen to')
Else Write(a,' la so nguyen to');
Readln
End.
 

Aki-chan

Học sinh chăm học
Thành viên
26 Tháng chín 2018
442
549
96
24
Hà Nội
HUST
Mã:
Program so_nguyen_to;
Uses crt;
Var a: longint;
Begin
clrscr;
Write('Nhap mot so bat ki: '); readln(a);
For i:=1 to a-1 do
If a<2 then Write(a,' khong phai so nguyen to');
If a mod i = 0 then write(a,' khong phai so nguyen to')
Else Write(a,' la so nguyen to');
Readln
End.
i chạy từ 2 nhé bạn. vì nếu i=1 thì a chia hết cho i với mọi a rồi
Bổ sung thêm là để tối ưu hóa việc lập trình thì người ta không cần thiết phải cho i chạy từ 1 đến a-1.
Vì tính chất rất đẹp của số nguyên tố:
For i:=2 to trunc(sqrt(a)) do...
Chỉ cần cho i chạy đến phần nguyên của [tex]\sqrt{a}[/tex] là đã đủ chứng minh a là snt hay không rồi.
 
Top Bottom