Минимальная сумма - Turbo Pascal
Формулировка задачи:
Учитель математики на уроке написал N чисел. Парень сидевший на последней парте задумался, а какая будет минимальная сумма подряд идущих чисел.Напишите программу, которая вычислит нужную сумму.
Формат входных данных: Первая строка входного файла содержит n-количество чисел(1<=n<=1000000). Во второй строке задаются n чисел, каждое из которых по модулю не превосходит 1000000000.
Решение задачи: «Минимальная сумма»
textual
Листинг программы
Const m=100;
var
i,j,min,tempmin,s,k,N,beg,en:integer;
x:array [1..m] of integer;
begin
Randomize;
writeln('Введите количество чисел');
readln(N);
writeln('Теперь вводите 'n,' чисел');
For i:=1 to N do
begin
{ x[i]:=random(6);
write(x[i]:5);}
readln(x[i]);
end;
writeln;
for i:= 1 to N do min:=min+x[i];
beg:=1;
en:=N;
for i:= 1 to N-1 do
begin
tempMin:=0;
for j:= i to N do tempMin:=tempMin+x[j];
if TempMin<min then min:=TempMin;
tempMin:=0;
for j:= 1 to i do tempMin:=tempMin+x[j];
if TempMin<min then min:=TempMin;
for j:= i+1 to n do
begin
tempMin:=0;
for k:= i to j do tempMin:=tempMin+x[k];
if TempMin<min then min:=TempMin;
end;
end;
writeln('Минимальная сумма = ',min);
readln;
end.
Объяснение кода листинга программы
- В коде используется язык программирования Turbo Pascal.
- Задачей программы является поиск минимальной суммы элементов массива.
- В начале кода объявляются переменные: i, j, min, tempmin, s, k, N, beg, en, x.
- Переменная N инициализируется значением количества вводимых чисел.
- Далее происходит ввод чисел в массив x.
- Затем происходит суммирование всех элементов массива и сохранение результата в переменной min.
- Инициализируются переменные beg и en, которые будут использоваться для поиска минимальной суммы.
- Далее происходит поиск минимальной суммы, перебирая все возможные подмассивы и сравнивая их суммы.
- В конце выводится значение переменной min - минимальная сумма.
- Программа завершается чтением символа из стандартного ввода.