В самом начале эксперимента у вас есть одна бактерия. Она делится каждую минуту таким образом, что из одной получается 3. Через сколько минут у вас будет более 100 бактерий? Нужно сделать в паскале.
Длинный "школьный" вариант // PascalABC.NET 3.1, сборка 1239 от 08.05.2016 const nn=100; var i,n:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; for i:=1 to n do begin a[i]:=Random(200)-100; Write(a[i],' ') end; Writeln; for i:=1 to n do Write(a[i]*2,' '); Writeln end.
Известный метод артиллерийской вилки, когда пристреливаются по принципу "перелет - недолет". Пусть отверстия пронумерованы от 1 до 15. Сначала пробуем отверстие №8 (посередине ряда). Если валик не помещается, следующим пробуем середину участка 8-15, т.е. отверстие №12. а если проваливается - то середину участка 1-8, т.е. отверстие №4. Далее, по аналогии, пробуем середину отрезка левее или правее сделанной пробы, т.е. отверстия с четными номерами. И четвертая проба будет контрольной - отверстие с нечетным номером. Контрольная - потому что место валика и так уже понятно.
var bakteria, min: integer;
begin
bakteria := 1;
min := 1;
while bakteria < 100 do
begin
bakteria := bakteria + 3;
min := min + 1
end;
writeln(min)
end.
Объяснение: