Оператор mod возвращает остаток от деления. Четное число – такое, остаток от деления которого на 2 равен нулю.
Функция int возвращает целую часть дробного числа. С её можно реализовать mod ( – примерно то же самое, что и ) или сравнить результат умножения на 2 целой части результата деления исходного числа на 2 с исходным числом.
2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.
3.
нц
пока снизу свободно
вниз
кц
нц
пока не снизу свободно
закрасить
вправо
кц
нц
пока снизу свободно
вправо
кц
нц
пока не снизу свободно
закрасить
вправо
кц
вниз
влево
нц
пока не сверху свободно
закрасить
влево
кц
нц
пока сверху свободно
влево
кц
нц
пока не сверху свободно
закрасить
влево
кц
Объяснение:
1. Рассмотрим последовательность номеров команд 11112.
4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:
Оператор mod возвращает остаток от деления. Четное число – такое, остаток от деления которого на 2 равен нулю.
Функция int возвращает целую часть дробного числа. С её можно реализовать mod ( – примерно то же самое, что и ) или сравнить результат умножения на 2 целой части результата деления исходного числа на 2 с исходным числом.
Код:
begin
var a := ReadInteger();
writeln(a mod 2 = 0);
writeln(a - 2 * int(a / 2) = 0);
writeln(a = 2 * int(a / 2));
end.
Пример ввода:
5
Пример вывода:
False
False
False
Пример ввода:
42
Пример вывода:
True
True
True
1. b = 10
2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.
3.
нц
пока снизу свободно
вниз
кц
нц
пока не снизу свободно
закрасить
вправо
кц
нц
пока снизу свободно
вправо
кц
нц
пока не снизу свободно
закрасить
вправо
кц
вниз
влево
нц
пока не сверху свободно
закрасить
влево
кц
нц
пока сверху свободно
влево
кц
нц
пока не сверху свободно
закрасить
влево
кц
Объяснение:
1. Рассмотрим последовательность номеров команд 11112.
4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:
(6+4b)*2 = 92
6+4b = 46
4b = 40
b = 10