Как можно сохратить промежуточные результаты работы рекурсивной функции? Мне надо сделать подсчет повторений промежуточного результата. В коде выделен :"<---------------------------Вывод в файл." . Т.е. чтобы после выполнения функции в файле было что-то типа "промежуточный результат - > количество повторов" (во время работы функции, промежуточный результат принимал значения "0" ("1","2","3","4"...) - 38 (27,49,40,55) раз:
Вот фрагмент кода, который осуществляет вывод в файл:
Код
Open "e:/taks_1_2.txt" For Append As #1
Print #1,
Print #1, "answer: " & ANSWER
Print #1, "source: 11989460275519080564894036768322865785999566885539505969749975204962718118914971586072960191064507745920086993438529097266122668"
Close #1
Добавьте по аналогии в нужное место кода. Что вообще тут считается?
Это реализация длинного умножения методом Карацубы. Мне надо где то сохранить результаты промежуточных результатов, каких именно результатов - в коде помечено комментарием : "<---------------------------Вывод в файл." А после етого посчитать количество повторов значений етих промежуточных результатов. Прошу прощения за каламбурное описание.
Наверно надо с помощью коллекции реализировать, только еще не разобрался кака именно.
Sub qq()
Dim dict As Object, i As Integer, j As Integer, ArrKey, ArrVal
Set dict = CreateObject("Scripting.Dictionary")
For i = 1 To 10000
j = Rnd() * 100 'случайное число
dict.Item(j) = dict.Item(j) + 1 'добавление числа в словарь
Next i
ArrKey = dict.keys 'массив ключей
ArrVal = dict.items 'массив значений
For i = 1 To dict.Count
Cells(i, 1) = ArrKey(i - 1) 'выгрузка на лист
Cells(i, 2) = ArrVal(i - 1)
Next i
End Sub