Kiểm tra giúp mik với ja, mik sai chỗ nào mà nó không ra số lượng số nguyên tố vậy ạ? Uses CRT; Var a: Array [1..100] of Integer; i,n,p,s: Integer; Function ktnt (n: Integer): Boolean; Var i,d,p: Integer; Begin d:=0; If n<2 then ktnt:=false Else Begin p:=0; For i:=1 to n do If n mod i=0 then d:=d+1; End; If d=2 then ktnt:=true Else ktnt:=false; End; Function kthh (n:Integer): Boolean; Var i,s: Integer; Begin s:=0; For i:=1 to n div 2 do If n mod i=0 then s:=s+i; If s=n then kthh:=true Else kthh:=false; End; Begin ClrScr; Write ( 'Nhap so nguyen n: '); Readln (n); For i:=1 to n do Begin Write ( 'Nhap phan tu thu ',i,': '); Readln (a[i]); End; Write ( 'Cac so nguyen to co trong day tren la: ' ); For i:=1 to n do Begin If ktnt (a[i])=true then Begin Write (a[i],' '); End; End; For i:=1 to n do If ktnt (a[i])=true then p:=p+1; Writeln; Write ( 'Cac so hoan hao co trong day tren la: '); For i:=1 to n do If kthh (a[i])=true then Write(a[i],' '); Readln; End.
2 câu trả lời
bài của bạn thiếu câu lệnh in ra số các số nguyên tố nha
mình bổ sung thêm vào rùi đó
Uses CRT;
Var a: Array [1..100] of Integer;
i,n,p,s: Integer;
Function ktnt (n: Integer): Boolean;
Var i,d,p: Integer;
Begin
d:=0;
If n<2 then
ktnt:=false
Else
Begin
p:=0;
For i:=1 to n do
If n mod i=0 then
d:=d+1;
End;
If d=2 then
ktnt:=true
Else
ktnt:=false;
End;
Function kthh (n:Integer): Boolean;
Var i,s: Integer;
Begin
s:=0;
For i:=1 to n div 2 do
If n mod i=0 then
s:=s+i;
If s=n then
kthh:=true
Else
kthh:=false;
End;
Begin
ClrScr;
Write ( 'Nhap so nguyen n: ');
Readln (n);
For i:=1 to n do
Begin
Write ( 'Nhap phan tu thu ',i,': ');
Readln (a[i]);
End;
Write ( 'Cac so nguyen to co trong day tren la: ' );
For i:=1 to n do
Begin
If ktnt (a[i])=true then
Begin
Write (a[i],' ');
End;
End;
For i:=1 to n do
If ktnt (a[i])=true then
p:=p+1;
Writeln;
writeln('Co ',p,' so nguyen to');
Write ( 'Cac so hoan hao co trong day tren la: ');
For i:=1 to n do
If kthh (a[i])=true then
Write(a[i],' ');
Readln;
End.
Uses CRT;
Var a: Array [1..100] of Integer;
i,n,p,s: Integer;
Function ktnt (n: Integer): Boolean;
Var i,d,p: Integer;
Begin
d:=0;
If n<2 then
ktnt:=false
Else
Begin
p:=0;
For i:=1 to n do
If n mod i=0 then
d:=d+1;
End;
If d=2 then
ktnt:=true
Else
ktnt:=false;
End;
Function kthh (n:Integer): Boolean;
Var i,s: Integer;
Begin
s:=0;
For i:=1 to n div 2 do
If n mod i=0 then
s:=s+i;
If s=n then
kthh:=true
Else
kthh:=false;
End;
Begin
ClrScr;
Write ( 'Nhap so nguyen n: ');
Readln (n);
For i:=1 to n do
Begin
Write ( 'Nhap phan tu thu ',i,': ');
Readln (a[i]);
End;
Write ( 'Cac so nguyen to co trong day tren la: ' );
For i:=1 to n do
Begin
If ktnt (a[i])=true then
Begin
Write (a[i],' ');
End;
End;
For i:=1 to n do
If ktnt (a[i])=true then
p:=p+1;
Writeln;
writeln('Co ',p,' so nguyen to');
Write ( 'Cac so hoan hao co trong day tren la: ');
For i:=1 to n do
If kthh (a[i])=true then
Write(a[i],' ');
Readln;
End.
Pascal là ngôn ngữ khá cũ, trong thực tế nó không còn được sử dụng phổ biến như trước nữa. So với các ngôn ngữ lập trình script hiện đại thì Pascal khá dài dòng, mức độ trừu tượng cao và cách code khá giống với ngôn ngữ lập trình C. Hầu hết các chương trình C đều có thể dịch được sang Pascal mà chỉ bị thay đổi về cú pháp chứ không làm thay đổi cấu trúc. Mà C thì là một trong những ngôn ngữ lập trình rất phổ biến, do đó nắm được Pascal bạn sẽ tiếp cận C tốt hơn. Nó cũng buộc bạn phải luôn nghĩ về kiểu dữ liệu, điều này sẽ giúp các lập trình viên mới học được một thói quen tuyệt vời khi code.
Và vì không có nhiều giá trị thương mại, Pascal được sử dụng chủ yếu để dạy nhập môn lập trình hoặc dành cho những người yêu thích Pascal tìm tòi. Nếu bạn thích lập trình, mới học nhưng không "hấp thụ" được Pascal có thể thử Python nhé.
Dưới đây là tổng hợp một số bài tập Pascal từ cơ bản đến phức tạp hy vọng việc học của bạn sẽ dễ dàng hơn đôi chút.
Bài 1: In số chẵn ra màn hình
Viết chương trình nhập vào 1 số N nguyên dương và in ra màn hình các số chẵn từ 0 đến N, sao cho mỗi số chiếm 4 vị trí và 1 dòng có 15 số.