второй вариант функции


второй вариант функции 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.
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz