Cho dãy (a1,...,an) là các số nguyên bất kỳ. Viết thuật toán tính : 1. Tổng các số chẵn 2. Tích các số lẽ

2 câu trả lời

Program bai2:

Uses crt;

Var A:array[1..200] of integer;

      N,i,T:integer;

      S:longint;

Begin

Clrscr;

T:=0; S:=1;

Write('N='); Readln(N);

For i:=1 to N do

If (i mod 2=0) then T:=T+i

else S:=S*i;

Writeln('Tong cac so chan:',T);

Writeln('Tich cac so le:',S);

Readln

End.

* Thuật toán 1 :

- Bước 1 : nhập n, dãy a1, a2, ... , an
- Bước 2 : i ← 1; s ← 0;
- Bước 3 : nếu i > n thì đưa ra giá trị s rồi kết thúc
- Bước 4 : nếu a[i] mod 2 =0 thì s ← s + a[i];
- Bước 5 : i ← i + 1, quay lại bước 3

* Thuật toán 2 :

- Bước 1 : nhập n, dãy a1, a2, ... , an
- Bước 2 : i ← 1; s ← 0;
- Bước 3 : nếu i > n thì đưa ra giá trị s rồi kết thúc
- Bước 4 : nếu a[i] mod 2 <> 0 thì s ← s + a[i];
- Bước 5 : i ← i + 1, quay lại bước 3