Trả lời
Đối với với bài toán này thì phần kiểm tra số nguyên dương N(N<100) và dãy A gồn N số nguyên A1, A2 ...AN có giá trị tuyệt đối không lớn hơn 1000 giống như bài tập 5 đã nêu ờ trên. Chúng ta chi cần giải quyết thêm 2 vấn đề nữa, đó là đếm số lượng số chẵn, số lẻ và số lượng số nguyên tố trong dãy.
Chưntg trình:
progran baitap6_chuong4;
uses crt;
var
array[1..100] of integer;
if: boolean;
N, i„ l: integer; so_nt, so_chan: integer;
begin
for i := -1000 to 1000 do if i>0 then NT:= false;
so_chan:=0; so_nt:=0;
{Nhap vao)
repeat
write('So phan tu cua day A (N<=100), N= *);
readln(N);
until (N>0) and
(N<=100);
for i:= 1 to N do
begin
{kiem tra cac phan tu cua day khi nhap vao}
repeat
write('A[',i,']= ');readln(A[i]);
if (a[i]>1000) or (a[i]<-1000) then
write('Moi nhap lai ");
until (a[i]>-1000) and (a[i]<1000); = if A[i] mod 2 =0 then so_chan:= so_chan + 1; if A[i] >1 then
begin
u: = 2 ;
while ((u<=sqrt (A[i])) and (A[i] mod u<>0))) do u: = u + 1; if u>sqrt(A[i]) then so_nt:= so_nt + 1;
end,
end;
{In ra man hinh}
writeln('So luong so chan:',so_chan);
writeln('So luong so le:',N - so_chan);
writeln(’So luong so nguyen tro:', so_nt);
readln
End.
Khi chạy chương trình, ta lần lượt nhập các phần tử của dãy A:
Với N = 3 và các phần tử được nhập vào theo thứ tự:
A[1]=5
A[2]=7
A[3]=900
thì chương trình đưa ra thông báo:
So luong so chan: 1
So luong so le: 2
So luong so nguyen to: 2
- Với 5 và các phần tử được nhập vào theo thứ tự:
A[1]=12
A[2]=3 A[3]=5
A[4>10 A [5] =11
thì chương trinh đưa ra thông báo:
So luong so chan: 2
So luong so le: 3
So luong so nguyen to: 3
Kết quả của chương trình như hình 63 sau đây:
Trong trường hợp số phần tử nhập vào và giá trị các phần tử của dãy A không thỏa mãn điều kiện thì chương trình sẽ có thông báo mời nhập lại. Chẳng hạn, trong các trường hợp sau đây:
A[1] = 12
A [ 2] = 2000 thì chương trình đưa ra yêu cầu Moi nhap lai A[2]= 800 A[3 = 17
A [ 4] = -1500 thì chương trình đưa ra yêu cầu Moi nhap lai A[4]= -200 A[5] =31 A [ 6 = 5 A[7 = 350
Kết quả chương trình đưa ra thông báo (Hình 64):
So luong so chan: 4
So Luong so le: 3
So luong so nguyen to: 3