1) Функциональные клавиши F1-F12 предназначены для выполнения ряда команд при работе с некоторыми программами.
2) Символьные (алфавитно-цифровые) клавиши используются для ввода информации в компьютер.
3) Клавиши управления курсором перемещают курсор в начало строки, в конец строки, на страницу вверх и на страницу вниз.
4) Дополнительные клавиши, расположенные с правой стороны клавиатуры, могут работать в двух режимах, переключаемых клавишей NumLock:
- при включённом индикаторе NumLock это удобная клавишная панель с цифрами и знаками арифметических операций, расположенными, как на калькуляторе;
- если индикатор NumLock выключен, то работает режим управления курсором.
5) Специальные клавиши (Enter, Esc, Shift, Delete, Backspace, Insert и др.) — это клавиши для специальных действий;
Клавиша Enter завершает ввод команды и вызывает её выполнение. При наборе текста служит для завершения ввода абзаца.
Клавиша Esc, расположенная в левом верхнем углу клавиатуры, обычно служит для отказа от только что выполненного действия.
Объяснение:
Создадим список a. В a[k] будем хранить количество различных программ, по которым Калькулятор может получить из 2 число k.
При небольших k зададим значения вручную: a[0] = a[1] = 0; a[2] = 1 (для k = 2 удобно считать, что есть одна программа - пустая).
Для k > 2 можно вычислять a[k] так: a[k] = a[k - 1] + a[k/2] * {k - полный квадрат} + a[sqrt(k)] * {k - полный квадрат}. Здесь {P} - 1, если P верно, и 0, если ложно.
По описанию программа составляется просто (версия питона 3.8, в ней появилась функция isqrt, если у вас python3, но версия меньше 3.8, можете округлить корень для ближайшего целого):
from math import isqrt
a = [0] * 39
a[2] = 1
for k in range(3, 39):
a[k] = a[k - 1]
if k % 2 == 0:
a[k] += a[k // 2]
t = isqrt(k)
if t ** 2 == k:
a[k] += a[t]
print(f"{k:3} {a[k]:5}")
Программа выводит все промежуточные ответы и a[38]