Создадим список 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]
відповідь:
одним из главных достижений, предоставляемых средствами системы является то, что cds/isis способен манипулировать неограниченным количеством баз данных, каждая из которых может состоять из различных элементов данных. пользователь cds/isis является таким образом свободным от дорогостоящей разработки и написания компьютерных программ каждый раз, когда новый проект требует использования техники поиска информации. хотя некоторые возможности cds/isis требуют знаний и опыта работы с компьютеризованными системами, система может быть использована лицами, имеющими малый или никакого компьютерного опыта.
это руководство описывает функции программного обеспечения cds/isis и состоит из учебных частей, которые обучат вас как заводить бд, какие операции вы можете выполнять над имеющейся бд, а также содержит раздел ссылок, которые вы можете использовать во время работы с программами.
для опытных пользователей, имеющих отношение, к компьютерным профессионалам, cds/isis предлагает интегрированное программное средство, позволяющее осуществлять разработку специальных приложений и/или функциональное расширение базовых возможностей системы. средства программирования описаны в руководстве cds/isis паскаль, издаваемое отдельно.
если вы в данный момент используете программы версии 1.0, вы должны внимательно просмотреть раздел этого; руководства "обзор системы", и, частично раздел "системные и технические требования", который описывает процедуры установки и обеспечивает в преобразовании бд, построенных с версии 1.0 для использования в версии 2.3. главные новации, введенные в версию 2.3 суммированы ниже: