Skvik71
?>

Написать алгоритм распознающий по длинам сторон среди всех треугольников прямоугольные (написать в кумире)

Информатика

Ответы

chumakanna17
Алг       нач         вещ a, b, c         лог d         a : = 1         b : = 0           c : = 0         d : = да         нц пока (d)             ввод a             ввод b             ввод c             если не ((a < b+c) и (b < a+c) и (c < a+b)) то                 вывод "треугольник a(", a, ") b(", b, ") c(", c, ") не существует"                 d : = нет             иначе                 если ** 2 = b ** 2 * c ** 2) или (b ** 2 = a ** 2 + c ** 2) или (c ** 2 = a ** 2 + b ** 2)) и ((a < > b) и (b < > то                     вывод "треугольник a(", a, ") b(", b, ") c(", c, ") прямоугольный", нс                 все             все         кц     конона спрашивает стороны, пока не введёшь стороны несуществующего треугольника (например 1-0-1) =)
Николаевна1564

Закраски клеток (команда 5) здесь нет, значит надо просто обеспечить более короткое перемещение в ту же конечную точку.

Для этого посмотрим, что за движения там записаны.

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

То же самое- для движений влево и вправо. Они тоже взаимно противоположные.

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

Запишу подробнее, как сократить алгоритм движения (только для случая без закраски):

а) берём наш алгоритм: 131413324223

б) во всём алгоритме считаем количество команд перемещения для каждого из направлений движения:

1 (вверх)-    3 штуки

2 (вниз)-     3 штуки

3 (влево)-   4 штуки

4 (вправо)- 2 штуки

в) считаем разность количества команд влево и вправо (из большего числа вычитаем меньшее):  4 - 2 = 2

Осталось две команды - влево (т.к. их было больше). Остальные команды влево-вправо сократились (мы их удалили из алгоритма).

г) считаем разность количества команд вверх и вниз (из большего числа вычитаем меньшее, но тут числа равны):  3 - 3 = 0

Не осталось ни одной команды вверх или вниз. Все эти команды сократились (мы их удалили из алгоритма).

д) получаем, что в коротком варианте алгоритма останутся только две команды влево (3).

Запишем весь алгоритм:   33

eoils-info

1)         1 килобайт = 1024 байтов

          1 мегабайт = 1024 килобайтов (1024 б * 1024 б)

=> 1572864 : 1024 = 1536 кб (килобайт)

(1536 ←(1572864 б) : 1024   = 1,5 мб ⇔ окончательный ответ)

2)   1 байт = 8 битов

      => 20480 : 8 = 2560

20480 бит = 2560 байт

(2560 ←(20480 бит): 1024 = 2,5 кб ⇔ окончательный ответ )

3) 4194304 байт = 4096 кб

(4096 кб = 4 мб ⇔ окончательный ответ)

4)40960 бит = 5120 байт

(5120 байт = 5 кб ⇔ окончательный ответ)

5) 3145728 байт = 3072 кб

(3072 кб = 3 мб ⇔ окончательный ответ)

6) 155648 бит = 19456 байт

(19456 байт = 19 кб ⇔ окончательный ответ)

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

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

Написать алгоритм распознающий по длинам сторон среди всех треугольников прямоугольные (написать в кумире)
Ваше имя (никнейм)*
Email*
Комментарий*

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

stmr29
Эрендженова
million2003
Chistova-Dmitrii1162
Сергеевна-Иван1045
helenavalenti2846
keldastrand
kozak8824
snip99
s2010av565
Mikuspavel2
shneider1969
Mikuspavel2
kodim4
annakorolkova79