Var s, n : longint;begin s := -1; n := 3; while 6*s*s*s*s*s > 800*s*s*s do begin s := s -...

0 голосов
138 просмотров

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.​


Информатика (78 баллов) | 138 просмотров
0

а в чём задание?

0

какое число выведет данная программа?

0

205

Дан 1 ответ
0 голосов

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} < 800x^{3} \\3x^{5} < 400x^{3} \\3x^{3} < 400x\\3x^{3} - 400x < 0\\x(3x^{2} - 400) < 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.

(3.7k баллов)