Предмет: Информатика, автор: ITODD

var
s, n : longint;
begin
s := -1; n := 3;
while 6*s*s*s*s*s > 800*s*s*s do begin
s := s - 2;
n := n * 2
end;
write(n - s)
end.


mikhail0mikhailkov: а в чём задание?
ITODD: какое число выведет данная программа?
contrlc: 205

Ответы

Автор ответа: contrlc
9

6*s*s*s*s*s > 800*s*s*s

s*s*s*s*s = s^{5}

s*s*s =  s^{3}

Заменим s на x;

Цикл прервется когда выполнится условие 6*s*s*s*s*s < 800*s*s*s

6x^{5} &lt; 800x^{3} \\3x^{5} &lt; 400x^{3} \\3x^{3} &lt; 400x\\3x^{3} - 400x &lt; 0\\x(3x^{2} - 400) &lt; 0\\

x∈(-∞, 20/√3) ∪ (0, 20/√3)

Нас интересуют только отрицательные значения т.к. переменная s =-1 и в цикле она уменьшается.

Граничное значение \frac{-20}{\sqrt{3} } ≈- 11,54

Посмотрим на переменную s:

1-я итерация цикла s=-1

2-я итерация цикла s=-3

3-я итерация цикла s=-5

4-я итерация цикла s=-7

5-я итерация цикла s=-9

6-я итерация цикла s=-11

Цикл продолжится т.к. граничное значение -11,54 > 11.

7-я итерация цикла s=-13. цикл завершается.

Всего 6 итераций.

посмотрим на n:

n=3 и каждую итерацию

увеличивается на 2 => нужно вычислить 7-й член геометрической прогрессии(7 т.к. цикл выполнился 6 раз + n = 3 - 1-й член прогрессии):

xₙ = x₁ * qⁿ ⁻ ¹; q = 2(каждую итерацию увеличение на 2)

x₆ = 3 * 2⁷ ⁻ ¹ = 3 * 2⁶ = 3 * 64 = 192.

n - s = 192 - (-13) = 192 + 13 = 205.

Похожие вопросы