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.

Câu hỏi trong lớp Xem thêm