Задача 4: Обучение шахматам Маленькая Ева только учится играть в шахматы. Сегодня она узнала, как слон ходит по шахматной доске. Теперь она хочет понять, куда слон может добраться не более чем за 100 ходов Еве понять, может ли слон добраться от одной клетки до другой клетки шахматной доски.
Шахматный слон за один ход перемещается по диагонали на любое количество клеток. Шахматная доска имеет размеры 8 × 8.
Входные данные
Программа получает на вход 4 числа, записанных в отдельных строках. Первые два числа — номер строки и номер столбца исходной клетки, следующие два числа — номер строки и номер столбца конечной клетки (каждое число принимает значения от 1 до 8). Гарантируется, что исходная и конечная клетки не совпадают.
Выходные данные
В первой строке выведите Yes или No — ответ на вопрос задачи. Если в первой строке вы вывели Yes, то во второй строке выведите число n — количество ходов слона (число не превосходящее 100). В следующих n строках выведите последовательно клетки (номер строки и номер столбца клетки через пробел), в которые нужно перемещать слона. Последняя выведенная клетка должна совпадать с заданной конечной клеткой.
Вам не нужно минимизировать число ходов слона, но оно не должно превосходить 100.
Система оценки
В этой задаче 20 тестов, помимо тестов из условия. Каждый тест оценивается в независимо от остальных.
В непосредственном режиме- видимо без ввода программы, ввести последовательно строки (сначала присваиваем значение переменной икс, затем вычисляем выражение и помещаем это значение в переменную игрек, и после печатаем значение переменной игрек):
LET X=1.12
LET Y=SQR (X^3+EXP X-LN (3*X))*(1+4*SIN (X/2)+5*EXP (SIN X))
PRINT Y
И записать результат вычислений, который высветится на экране (у меня получилось 27.839525 но у вас может немного отличаться).
Надеюсь, что в вашей версии бейсика нет отличий от той, что у меня (она весьма старая).
Объяснение:
Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.
Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».