Tin học viết chương trình pascal tính tổng các số nguyên tố trong dãy số

Hoàng Anh Minh

Học sinh chăm học
Thành viên
8 Tháng bảy 2014
300
164
141
Đắk Nông
Program tong_cac_so_ng_to_trong_mang;
Uses crt ;
Const Max = 500;
Type mang = Array[1..max] of integer;
Var S,n,i:integer;
A:mang;
Function NT(n:integer):boolean;
Var i:integer;
Begin
If (n=0)Or(n=1) then NT:=False
Else
Begin
i:=2;
While (n mod i <> 0)and(i<Sqrt(n)) do i:=i+1;
If i>Sqrt(n) then NT:=True Else Nt:=False;
End;
End;
{Function NT}
Begin {Chuong trinh chinh}
Repeat
Clrscr;
Write('Ban nhap mang co bao nhieu phan tu : '); Readln(n);
Until (n<=max)And(n>0);
For i:=1 to n do
Begin Write('A[',i,']='); Readln(A); End;
S:=0;
For i:=1 to n do If NT(A) then S:=S+A;
Write('Tong cac so nguyen to trong mang = ',S);
Readln;
End.


Chúc bạn thi tốt nhé
 
  • Like
Reactions: Charles Boo Bi

Charles Boo Bi

Học sinh
Thành viên
10 Tháng năm 2017
2
2
31
21
Hoàng Anh minh, cái này là tin học lớp 8 mà bạn làm như vậy làm sao bạn ấy hỉu dc, bạn có thể làm theo kiến thức lớp 8 dc ko?
 

Gia Hưng Trần

Học sinh
Thành viên
24 Tháng tư 2017
31
6
31
21
đ
Program tong_cac_so_ng_to_trong_mang;
Uses crt ;
Const Max = 500;
Type mang = Array[1..max] of integer;
Var S,n,i:integer;
A:mang;
Function NT(n:integer):boolean;
Var i:integer;
Begin
If (n=0)Or(n=1) then NT:=False
Else
Begin
i:=2;
While (n mod i <> 0)and(i<Sqrt(n)) do i:=i+1;
If i>Sqrt(n) then NT:=True Else Nt:=False;
End;
End;
{Function NT}
Begin {Chuong trinh chinh}
Repeat
Clrscr;
Write('Ban nhap mang co bao nhieu phan tu : '); Readln(n);
Until (n<=max)And(n>0);
For i:=1 to n do
Begin Write('A[',i,']='); Readln(A); End;
S:=0;
For i:=1 to n do If NT(A) then S:=S+A;
Write('Tong cac so nguyen to trong mang = ',S);
Readln;
End.


Chúc bạn thi tốt nhé
[/QUOTE
bạn giải hơi khó hiểu. Có thể giải theo cách lớp 8 được k ạ. Cảm ơn bạn nhiều!!!!!!!
 

Gia Hưng Trần

Học sinh
Thành viên
24 Tháng tư 2017
31
6
31
21
mà mấy bạn có thể cho mình biết điều kiện để tìm ra số nguyên tố trong một dãy số không ạ
 

Hoàng Anh Minh

Học sinh chăm học
Thành viên
8 Tháng bảy 2014
300
164
141
Đắk Nông
rất dễ dàng nhé bạn bạn hãy cố học hết các cú pháp nhé
chỉ cần nhớ các biến cú pháp là làm được à
 

BhofA

Học sinh chăm học
Thành viên
7 Tháng năm 2017
374
281
56
21
Nghệ An
Ý tưởng bạn nek: Cho chạy 1 vòng for để duyệt từng phần tử, cho chạy tiếp 1 vòng for trong để duyệt từ 1 đến phần tử đó, nếu chia hết thì cộng biến đếm thêm một, nếu biến đếm =2 thì công. bởi vì số nguyên tố là số chỉ chia hết cho 1 và chính nó thì nếu nó là số nguyên tố thì chỉ chia hết cho 1 và chính nó khi chạy vòng for từ 1 đến phần tử đó

~Code~

program bhofa;
uses crt;
var A:array[1..100] of integer;
n,i,dem,s,j: integer;
begin
clrscr;
write('Nhap n: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']=');
readln(A);
end;
s:=0;
dem:=0;
for i:=1 to n do if A>1 then
begin
dem:=0;
for j:=1 to A do if A mod j=0 then dem:=dem+1;
if dem=2 then s:=s+A;
end;
write('Tong cac so nguyen to la: ',s);
readln
end.
 

Hacker!!

Học sinh
Thành viên
9 Tháng tư 2017
12
1
21
23
Trên mặt đất , dưới trời xanh
var A:array[1..100] of integer;
n,i,s: integer;
function snt (so:integer): boolean;
var d, i: integer;
begin
d:=0;
snt:=false;
for i:=1 to so div 2 do if so mod i = 0 then inc(d);
if d=1 then snt:=true;
end;
begin
s:=0;
write('Nhap n: '); readln(n);
for i:=1 to n do readln(a);
for i:=1 to n do
if snt(a) then s:=s+a;
writeln(s);
end.
 
Top Bottom