viết chương trình nhập vào bàn phím 1 số nguyên dương n (n<=100, có ktra đk nhập) và in dãy a gồm n số nguyên dương a1,a2,...an
yêu cầu: hãy biến đổi dãy a thành dãy b & in dãy b lên màn hình.
trong đó b[i]=số lượng ước của a[i] (1<=i
viết chương trình nhập vào bàn phím 1 số nguyên dương n (n<=100, có ktra đk nhập) và in dãy a gồm n số nguyên dương a1,a2,...an
yêu cầu: hãy biến đổi dãy a thành dãy b & in dãy b lên màn hình.
trong đó b[i]=số lượng ước của a[i] (1<=i
program daymoi;
uses crt;
var A,B:array[1..100] of integer;
n,i,d,j:integer;
begin
clrscr;
write(‘Nhap so luong phan tu: ‘); readln(n);
writeln(‘Nhap tung phan tu cua day: ‘);
for i:=1 to n do
begin
write(‘Nhap so thu ‘,i,’: ‘); readln(A[i]);
end;
write(‘Day ban dau la: ‘);
for i:=1 to n do
write(A[i],’ ‘);
writeln;
for i:=1 to n do
begin
d:=0;
for j:=1 to A[i] do
if A[i] mod j=0 then inc(d);
B[i]:=d;
end;
write(‘Day moi la: ‘);
for i:=1 to n do
write(B[i],’ ‘);
readln;
end.
Đố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
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