Анализируем ситуацию с конца последовательности команд.
30 не является квадратом какого-либо натурального числа, поэтому последней операцией возведение в квадрат быть не может, а следовательно последняя операция - вычитание. Итак, последняя команда 2.
Рассуждаем, если в результате вычитания получили 30, то из какого числа?
x - 3 = 30
x = 33
Получается, что перед выполнением последней операции число было равным 33.
33 также не является квадратом какого-либо натурального числа, значит для его получения на предыдущем шаге была использована операция вычитания. Получается, что предпоследняя команда 2.
Из какого числа вычитали 3, чтобы получить 33?
y - 3 = 33
y = 36
Круто! 36 - это квадрат числа 6, значит была применена команда возведения в квадрат, то есть команда 1.
Так, 3 команды уже есть. Как за 2 команды из числа 3 получить число 6?
Легко! 6 = 3² - 3, т.е. была выполнена последовательность команды 1 и 2.
1) в первом случае стоит условие "пока переменная N (которая изначально равна 1) меньше или равна 5" мы умножаем данную переменную на 2, до тех пор пока она не станет больше или равна 5 , соответственно цикл завершается, когда N стала больше 5.
1 * 2 = 2, N присваивается ответ (т.е. число 2), далее 2 * 2 = 4, далее по идее программа будет делать ещё одно действие, потому что условие не достигнуто и N не равно 5, но в итоге ответ будет равен 4, потому что 4 * 2 уже получится 8, что не соответствует условию.
2) во втором такая же схема, поменялось только действие с произведения на разность
если что-то не понятно, спрашивай в комментариях :)
12122
Объяснение:
Анализируем ситуацию с конца последовательности команд.
30 не является квадратом какого-либо натурального числа, поэтому последней операцией возведение в квадрат быть не может, а следовательно последняя операция - вычитание. Итак, последняя команда 2.
Рассуждаем, если в результате вычитания получили 30, то из какого числа?
x - 3 = 30
x = 33
Получается, что перед выполнением последней операции число было равным 33.
33 также не является квадратом какого-либо натурального числа, значит для его получения на предыдущем шаге была использована операция вычитания. Получается, что предпоследняя команда 2.
Из какого числа вычитали 3, чтобы получить 33?
y - 3 = 33
y = 36
Круто! 36 - это квадрат числа 6, значит была применена команда возведения в квадрат, то есть команда 1.
Так, 3 команды уже есть. Как за 2 команды из числа 3 получить число 6?
Легко! 6 = 3² - 3, т.е. была выполнена последовательность команды 1 и 2.
Всего 5 команд: 12122
1) N = 4
2) N = 1
Объяснение:
1) в первом случае стоит условие "пока переменная N (которая изначально равна 1) меньше или равна 5" мы умножаем данную переменную на 2, до тех пор пока она не станет больше или равна 5 , соответственно цикл завершается, когда N стала больше 5.
1 * 2 = 2, N присваивается ответ (т.е. число 2), далее 2 * 2 = 4, далее по идее программа будет делать ещё одно действие, потому что условие не достигнуто и N не равно 5, но в итоге ответ будет равен 4, потому что 4 * 2 уже получится 8, что не соответствует условию.
2) во втором такая же схема, поменялось только действие с произведения на разность
если что-то не понятно, спрашивай в комментариях :)