но ответ можно получить


но ответ можно получить лишь для небольших значений N. Задача не решена, ибо среди тестов были и такие: N=8, A=1122334455667788, B=9999999999999999 или N=10, A=27182818284590452353, B=31415926535897932384. Требуется сократить повторные «просчеты» в этой рекурсивной схеме. Параметрами рекурсии являются k - номер позиции в числе и Sum - сумма цифр в числе до позиции k (подсчет слева направо). Например, при N=2 вызов Rec(4,2) или Rec(3,8) идет многократно. Сократим эти повторные просчеты. Введем структуру данных Matr (Matr:array[1..20,0..90] of comp;). Элемент Matr[k,Sum] предназначен для хранения количества счастливых чисел длины 2N таких, что сумма (k-1)-й цифры числа равна значению Sum. Первоначальное значение элементов Matr равно -1. В таблице указаны значения элементов Matr при N=2. Если элемент не равен -1, то «в клетке» два числа. Первое - это число вариантов, второе - номер в очередности заполнения элементов Matr. 0 1 2 3 4 5 6 7 8 9 10 11 12 13-18 658 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ... 55 21 57 23 69 25 73 27 75 29 75 31 73 33 69 35 57 37 55 39 -1 -1 -1 ... 1 2 2 4 3 6 4 8 5 10 6 12 7 14 8 16 9 18 10 20 9 22 8 24 7 26 ... 1 1 1 3 1 5 1 7 1 9 1 11 1 13 1 15 1 17 1 19 -1 -1 -1 ... Итак,
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz