Задание 8 Параграф 19 ГДЗ Семакин 8 класс (Информатика)
у = х8; у = х,а, у = х15; у = х19.
Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку алгоритмов.
у:=х8
ввод х
у:=х*х (х2)
у:=у*у (х4)
у:=у*у (х8)
вывод у
у:=х10
ввод х
у:=х*х (х2)
у:=у*у (х4)
у:=у*х (х5)
у:=у*у (х10)
вывод у
у:=х15
ввод х
у:=х*х (х2)
у:=у*х (х3)
у:=у*у (х6)
у:=у*х (х7)
у:=у*у (х14)
у:=у*х (х15)
вывод у
у:=х19
ввод х
у:=х*х (х2)
у:=у*у (х4)
у:=у*у (х8)
у:=у*х (х9)
у:=у*у (х18)
у:=у*х (х19)
вывод у
Чтобы получить нужные степени, удобно каждый раз использовать уже вычисленное значение и умножать его само на себя или на $$x$$. Тогда число дополнительных переменных минимально: достаточно одной переменной $$y$$.
1) $$y=x^8$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*y ($$x^8$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*y | 2 | 256 |
| вывод y | 256 |
2) $$y=x^{10}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*x ($$x^5$$)
y:=y*y ($$x^{10}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*x | 2 | 32 |
| y:=y*y | 2 | 1024 |
| вывод y | 1024 |
3) $$y=x^{15}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*x ($$x^3$$)
y:=y*y ($$x^6$$)
y:=y*x ($$x^7$$)
y:=y*y ($$x^{14}$$)
y:=y*x ($$x^{15}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*x | 2 | 8 |
| y:=y*y | 2 | 64 |
| y:=y*x | 2 | 128 |
| y:=y*y | 2 | 16384 |
| y:=y*x | 2 | 32768 |
| вывод y | 32768 |
4) $$y=x^{19}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*y ($$x^8$$)
y:=y*x ($$x^9$$)
y:=y*y ($$x^{18}$$)
y:=y*x ($$x^{19}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*y | 2 | 256 |
| y:=y*x | 2 | 512 |
| y:=y*y | 2 | 262144 |
| y:=y*x | 2 | 524288 |
| вывод y | 524288 |
Ответ
Наиболее короткие алгоритмы получены для выражений $$x^8$$, $$x^{10}$$, $$x^{15}$$ и $$x^{19}$$; трассировка при $$x=2$$ даёт соответственно $$256$$, $$1024$$, $$32768$$ и $$524288$$.