Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤100) và dãy A gồm N số nguyên A1...AN có giá trị tuyệt đối lớn hơn 1000. Hãy cho biết dãy A có phải là một cấp số cộng hay không và thông báo kết quả ra màn hình.
Quảng cáo
1 câu trả lời 1710
Nếu dãy chỉ có một số hoặc hai số thì chắc chắn là cấp số cộng.
Nếu dãy có hơn hai số thì tính công sai là a[1]-a[0] sau đó duyệt cả mảng nếu có số nào vi phạm quy luật của cấp số cộng a[i] khác a[i-1]+d thì kết luận luôn không là cấp số cộng.
Nếu đến cuối dãy mà không có số nào vi phạm thì kết luận là cấp số cộng.
program csc;
uses crt;
var a:array[1..100] of integer;
i,n,d:integer;
t:boolean;
begin
clrscr;
write('nhap so phan tu cua day ');
readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
if n<=2
then
write('la cap so cong ')
else
begin
d:=a[2]-a[1];
t:=true;
for i:=3 to n do
if a[i]<>a[i-1]+d
then
begin
t:=false;
break;
end;
if t
then
write('la cap so cong')
else
write('khong phai cap so cong ');
end;
readkey;
end.
Kết quả:
Trường hợp là cấp số cộng:

Trường hợp không là cấp số cộng:

Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
86064
