Cho dãy A gồm N số nguyên dương, hãy đếm và tính tổng các số nguyên tố trong dãy A
2 câu trả lời
program capsonhan;
uses crt;
var S,i,d,n,j,dem:integer;
A:array[1..500] of integer;
begin
clrscr;
readln(n); d:=0; S:=0; dem:=0;
For i:=1 to n do read(A[i]);
For i:=1 to n do
begin
For j:=1 to A[i] do if A[i] mod j=0 then inc(d);
if d=2 then
begin
inc(dem);
S:=S+A[i];
d:=0;
end
else d:=0;
end;
writeln(dem);
writeln(S);
readln;
readln;
end.
Xác định bài toán
Input: Dãy A gồm N số nguyên a1, a2..., aN ;
Output: Số số hạng trong dãy A có giá trị lớn hơn 0.
Ý tưởng:
Tìm kiếm tuần tự được thực hiện một cách tự nhiên. Ta dùng biến đếm k để đếm số số hạng trong dãy A có giá trị lớn hơn 0. Bắt đầu từ i = 0 và mỗi lần tăng i lên 1, ta lần lượt so sánh ai > 0?, nếu ai > 0 thì tăng k lên 1, tiếp tục quá trình cho đến khi i > N thì đưa ra kết quả k và kết thúc.
Cách liệt kê
Bước 1: Nhập N, các số hạng a1, a2..., aN
Bước 2: i = 0, k= 0,
Bước 3: Nếu ai > 0 thì k = k+1;
Bước 4: i = i + 1
Bước 5: Nếu i > N thì đưa ra giá trị k, rồi kết thúc;
Bước 6: Quay lại bước 3.