Cho dãy số nguyên (a1,a2,..an) Yêu Cầu: tìm 2 số nguyên liên tiếp trong dãy a: ap, ap+1 có giá trị tuyệt đối của tổng là bé nhất Dữ liệu vào: trong file summin.inp gồm 2 dòng - dòng 1 chứa số nguyên N (2<=N<=10000) - dòng 2 chứa n số nguyên a1,a2,...an theo đúng thứ tự cách nhau 1 dấu cách (|ai|<=1000) dữ liệu ra: xuất trong file summin.out -dòng 1: ghi tổng tìm được - dòng 2: ghi 2 vị trí p và p+1 nhỏ nhất vd summin.inp summin.out 5 1 2 3 9 -2 3 4 5 Giair thích ý tưởng luôn với ạ ko cần dùng file hay text nha
2 câu trả lời
Tìm 1 bị trí i sao cho abs(a[i] + a[i+1]) là nhỏ nhất
uses crt;
var i,n,p,min:longint;
a:array[0..10000] of longint;
begin
clrscr;
readln(n);
for i:=1 to n do read(a[i]);
min:=5000;
p:=0;
for i:=1 to n-1 do
if abs(a[i] + a[i+1]) < min then
begin
min:=abs(a[i] + a[i+1]);
p:=i;
end;
writeln(min);
writeln(p,' ',p+1);
readln;
end.
var a:array[0..10000] of longint;
i,n,vt,mi:longint;
begin
readln(n);
for i := 1 to n do read(a[i]);
mi:=10007;
for i := 1 to n-1 do
begin
if (mi > abs(a[i]+a[i+1])) then mi :=abs(a[i]+a[i+1]);
vt:=i;
end;
writeln(mi);
writeln(vt,#32,vt+1);
readln;readln;
end.
Câu hỏi trong lớp
Xem thêm