второй вариант функции
второй вариант функции Rec (в прямоугольнике повторяется часть, выделенная курсивом в первом варианте функции).
Function Rec(k,Sum:integer):comp;
var i:integer;Ans:comp;
begin
if k=2N+1 then if Sum=0 then Rec:=1 else Rec:=0
else if Matr[k,Sum]<>-1 then Rec:=Matr[k,Sum]
else begin
Matr[k,Sum]:=Ans;
end;
end;
Сокращение времени перебора трудно оценить аналитически. Однако понимания можно добиться, рассматривая, например, вопрос о том, сколько раз мы обращаемся в нашем примере к элементу Matr[3,6] после его первого вычисления.
Остался еще один непоясненный момент. Нам необходимо считать счастливые числа не во всем интервале от 00...0 до 99...9, а в его части - от некоторого числа A до числа B. Он решается путем введения дополнительного параметра в рекурсивную схему - логической переменной, фиксирующей факт совпадения рассматриваемого числа с заданным.
о96_4 Решение задачи в “лоб” - перебор, безнадежно. Так, при n=2 ответом является число 105263157894736842.
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа