dimanov
?>

Осёл может перенести груз, равный половине своего веса. Вес осла – m кг. В первый день на осла нагрузили a кг, а каждый следующий день увеличивали вес груза на 1 кг. Сколько дней сможет работать осёл, и какой суммарный груз он перевезёт за это время?

Информатика

Ответы

olelukoya4
Const n=10; 
var a:array[1..n] of integer;
i,s,min:integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
 begin
 a[i]:=random(21)-10;
 write(a[i]:4);
 end;
writeln;
s:=0; 
min:=a[1];
for i:=1 to n do
 begin
 if a[i]>0 then s:=s+a[i];
 if a[i]<min then min:=a[i];
 end;
writeln('s = ',s,'   min = ',min);
for i:=1 to n do
 if a[i]>0 then a[i]:=s
  else if a[i]<0 then a[i]:=a[i]-min;
writeln('Измененный массив:');
for i:=1 to n do  write(a[i]:4);
writeln;
end.

Пример:
Исходный массив:
   9  -3  -5   7   1   5  -6   9  -8   7
s = 38   min = -8
Измененный массив:
  38   5   3  38  38  38   2  38   0  38
inna-zub
Делать это несложно. Есть два

Первый условно назовем "я - компьютер". Вы превращаетесь в Исполнителя и с железной тупостью выполняете алгоритм - инструкцию за инструкцией, каждый раз выписывая на бумаге результат. Если у Вас много времени и Вы, как и компьютер, не делаете ошибок, то рано или поздно нужный результат будет получен.

Второй назовем "я - человек". Вы напрягаете свой мозг и определяете, что именно делает алгоритм, после чего проводите нужные вычисления. В этом варианте обычно к результату приходят быстрее.

Попробуем второй путь.

Вначале полагаем, что s=0, n=12.
Далее следует цикл, в котором i последовательно принимает значения 1, 2, ... 10.
s=s+"что-то" говорит нам о том, что в s накапливается некая сумма, для чего s предварительно обнулялось.
А что именно накапливается? n-i. При проходах по циклу это будут значения n-1, n-2, ... n-10.
У нас n=12, поэтому в s будет накапливаться сумма 11+10+9+...+2. Или, это удобнее записать как 2+3+4+...+9+10+11.
Это сумма арифметической прогрессии из 10 членов и ее можно найти по формуле суммы арифметической прогрессии. Если лениво вспоминать формулу, можно просто сложить эти числа. А можно поступить, как поступил в свое время Гаусс: заметить, что 2+11=13, 3+10=13, 4+9=13 и таких пар 5. И найти результат 5×13=65. Такая вот победа мозга над рутиной)))
ответ: 65

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Осёл может перенести груз, равный половине своего веса. Вес осла – m кг. В первый день на осла нагрузили a кг, а каждый следующий день увеличивали вес груза на 1 кг. Сколько дней сможет работать осёл, и какой суммарный груз он перевезёт за это время?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mdsazonovatv1173
lugowskayatania2017
master-lamaster
Овезова Игорь
Galina_Yurevna
iplizogub74
darialyagina
gallush9
dpodstrel85
dokmak140652
Максим_Нина
konnovakat1
mail9
Anna-Miron
proplenkusale88