Алгоритмы и программы
[9/100%]Построить программы, вычисляющие в переменной следующие функции, и доказать их корректность. Для двухместных функций значение переменной должно остаться неизменным.
, где и ;
, где , если , и иначе;
— факториал;
— целочисленное частное;
;
— возведение в степень;
;
— остаток от деления на ;
— количество различных делителей числа .
Построить программу с метками, которая по натуральному числу вычисляет число Фибоначчи .
Построить программы, вычисляющие в переменной следующие функции:
Пусть программа П с одной входной переменной вычисляет в переменной некоторую всюду определённую взаимно однозначную функцию , область значений которой совпадает с множеством всех натуральных чисел . Пусть . Построить программу, которая вычисляет обратную к функцию , если .
Пусть П — программа и . Из определений следует, что при различном выборе входных переменных и выходных переменных программа может вычислять различные функции.
Каково максимальное количество функций от переменных, которое может вычислять П? Сколько всего разных функций может вычислить П? Функции, имеющие различное количество аргументов, считаем разными а priori.
Построить программу , которая вычисляет максимальное количество различных функций от переменных.
Построить программу , которая для каждого вычисляет максимальное количество различных функций от переменных.
Решить предыдущую задачу в случае, когда возможные входные переменные заранее упорядочены.
Определить, сколько всего существует попарно неэквивалентных программ с метками, имеющих не более операторов и только одну переменную, которая является одновременно входной и выходной.
Определить, какие всюду определённые функции могут вычисляться ограниченными программами с метками, которые имеют только одну переменную, являющуюся одновременно входной и выходной.
Пусть программа с метками содержит только пропозициональные переменные и присваивания с булевыми связками (аналогично линейным программ из параграфа 13.2). Предложить способ, который позволяет определить, какую функцию вычисляет такая программа.