powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помощь с рекурсией и мемоизацией
32 сообщений из 32, показаны все 2 страниц
Помощь с рекурсией и мемоизацией
    #39714041
1101ь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста с задачей. Нужно написать код, который принимает два значения (n и k) и выдает значение функции (описана во вложении). Программа работает медленно для больших чисел, и у меня проблемы с пониманием как использовать мемоизацию и не считать уже вычисленные значения раннее.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
int F(int n, int i){
    int f;
    int fsum=0;
 
  if(i < n){
    return i;
  }else{
  for(int j = 1; j <= n; j++){
    f = j * F(n, i-j);
    if(j%2==0){
        f=-f;
    }
    fsum+=f;
  }
}
 return fsum;
 
}


int main(int argc, char *argv[]){
  int n, k;
  scanf("%d %d", &n, &k);
  printf("%d\n",F(n, k));
  return 0;
}


Модератор: Для оформления исходников есть тэг [ SRC ]
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714042
1101ь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714054
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мемоизация - это запоминание однажды посчитанного, т.е. кэширование.

Схематично так работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
func F(n, k) {
   res = cache.find(n, k); // проверка кэша на наличие ответа для конкретных (n, k)
   if(res != NULL) return res; // если есть ответ - возврат его
   ... расчет res
   cache.add(n, k, res); //сохранение в кэш ответа для конкретных (n, k)
   return res;
}
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714144
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
/* Подсчёт суммы ф-й. На входе n + i, а ф-я должна пробежать от 1 (j) до максимума (n) с учётом (i) в формуле.

n = сколько раз суммировать тело из sum1 * sum2 * sum3
i = фикс.параметр передаётся в ф-ю
j = итерация
*/

#include <iostream>
#include <cmath>

using namespace std;

//##############################################################################
// суммирование через рекурсию
int F(int n,   int i)
{
    if (i < n)    {return i;}   // по условию

    int itogo = 0;
    for (int j = 1;   j <= n;   j++)
    {
/* debug:
        int sum1 = pow(-1,  (j +1));    // (ok) чётная степень = 1;  нечет = -1. Т.е. нечётный j -> sum1 = 1, чётный j -> sum1 = -1.
        int sum2 = sum1 * j;            // (ok) n=3, i=3, j=3  = 3
        int sum3 = F(n, i - j);         // (ok) рекурсия
        int sum_body = sum2  * sum3;

printf("sum1 = %d, sum2 = %d, sum3 = %d, sum_body = %d\tпри: n = %d,  i = %d,  j = %d\n\n",    sum1, sum2, sum3,  sum_body,  n, i, j);
*/
        itogo += pow(-1,  (j +1))   * j   * F(n, i - j);
    }

    return itogo;
}
//##############################################################################
int main(int argc, char *argv[])
{
    system("clear");

    if (argc != 3)    {cout << "формат запуска: " << argv[0] << " int int (2 целых числа для: n И i)\n\n";    return 0;}

    cout << F(atoi(argv[1]), atoi(argv[2])) << "\n";

    return 0;
}



авторМемоизация - это запоминание однажды посчитанного, т.е. кэширование.
в данном случае и так считает мгновенно, даже "./a.out 345873853 193845738"
да и такие простейшие расчёты имхо проще, чем запоминать каждую цифру, а потом ещё if делать на каждую
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714148
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь нужна не мемоизация а просто некий умный способ сворачивания рекурсии с использованием
частично накопленного результата. Как в фибоначчи. Прямая в лоб реализация - генерирует избыточное
дерево расчетов.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714160
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗдесь нужна не мемоизация а просто некий умный способ сворачивания рекурсии с использованием
частично накопленного результата. Как в фибоначчи. Прямая в лоб реализация - генерирует избыточное
дерево расчетов.
это уже к математикам на форум
а мы только можем озаботиться, чтобы данные в L1/L2 -кэш попали
ну так они вроде там
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714202
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Математики тем более таким не занимаются. Это чисто it-шный вопрос.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714259
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМатематики тем более таким не занимаются. Это чисто it-шный вопрос.

в первую очередь, это вопрос терминологии.
это не вопрос information technology, над такими вопросами в computer science трудятся.
:))

Так или иначе, в русском языке нет адекватного перевода ни тому, ни другому.
По русски это, в любом случае, дело "программиста".
И, мне кажется, что это скорее хорошо, чем плохо.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714351
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это хорошо.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714500
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМатематики тем более таким не занимаются. Это чисто it-шный вопрос.
ну технически вы правы
думаю, математики уже над этой задачей поработали
однако нам тут тоже предложить особо нечего, кроме констант на 1000 значений, например
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714632
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй перевернуть цикл вверх ногами.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714667
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для сравнения с 0 чтоли?
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714670
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

Ноль здесь не причем. Понаблюдай какие аргументы пойдут в функцию F().
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714674
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1101ьПомогите, пожалуйста с задачей. Нужно написать код, который принимает два значения (n и k) и выдает значение функции (описана во вложении). Программа работает медленно для больших чисел, и у меня проблемы с пониманием как использовать мемоизацию и не считать уже вычисленные значения раннее.Получается, что имеем одномерный массив большой длины, который определяется только одним число n. Число k себя никак не проявляет.

В результате имеем первые начальные n чисел, как исходные, а каждое следующее число есть сумма n предыдущих чисел с коэффициентами.
Может быть k есть число, указывающее когда нужно остановиться?

Если массив уж очень большой, и n большое, то конечно будет долго идти вычисления. И негде убыстрить: коэффициенты у предыдущих чисел всегда разные.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714675
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПонаблюдай какие аргументы пойдут в функцию F().
ровно те же самые
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714689
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухmaytonПонаблюдай какие аргументы пойдут в функцию F().
ровно те же самые!
Да но в каком порядке? И можем ли мы получить с этого выгоду?
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714725
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ можем ли мы получить с этого выгоду?
нет.
и кончай загадками говорить.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714862
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Область определения этой функции это квадрант с осями n,k . Квадрант в свою очередь разбит на 2 телесных угла под 45 градусов. Одну половинку можно не вычислять. Она тривиальна. А другую вычислять и мемоизировать.

+Ещё стоит вопрос целочисленного переполнения.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714870
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В мемоизационой области можно поискать формулу множителя на который надо домножить соседнюю ячейку чтобы получить f(n,k). Если получится - уйдет цикл.

По аналогии с треугольником Паскаля.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714900
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМатематики тем более таким не занимаются. Это чисто it-шный вопрос.
что-то я пока что вижу чистую математику
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714924
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно напугало?
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39714955
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗдесь нужна не мемоизация а просто некий умный способ сворачивания рекурсии с использованием
частично накопленного результата. Как в фибоначчи. Прямая в лоб реализация - генерирует избыточное
дерево расчетов.
Если подразумевается матричное решение "как в фибоначчи", то да.
Здесь рекуррентное соотношение, представимое в матричной форме.
И решение должно быть тем же - возведение в степень единичной производящей матрицы.
Отличие в том, что здесь размер матрицы является параметром n.
Вероятно, это должно достаточно красиво программироваться без мемоизации.
Кажется, что надо только со скрижалей пыль подсдуть...
Это требует некоторого времени, гороха и установления места- где поставлены те скрижали.

Без гороха и теории на наивный вариант мемоизации можно было бы смотреть так:

Пусть есть массив, мемоизирующий все значения k для заданного n.
Тогда его первые n элементов от 0 до n-1 окажутся просто заполнены числами, равными своему индексу.

А начиная с индекса n пойдут рекуррентно вычисляемые значения в пределах скользящего
окна размером n.
Если такой массив разделить на слоты, слайсы размером в n элементов массива,
то значение к-го элемента, считая с нуля, окажется в слайсе с номером m = k \ n,
где \ - целочисленное деление.

А его номер в слайсе будет l = k mod n - остаток целочисленого деления k на n.

Проводя заполнение массива на размер целого слайса и храня номер последнего
вычисленного слайса, легко получить простой цикл, довычисляющий необходимый m-ый
слайс, если он не был вычислен раньше.

При тотальной мемоизации на каждый n требуется свой мемоизирующий массив.
Это расточительно, но легко программируется.

Если отказаться от тотальной мемоизации и амортизированного константного времени доступа
к значению для (n,k), то достаточно работать просто с массивом размера n+n
(или парой массивов - n и n+n) и циклом, вычисляющим значения m-го слайса.

В зависимости от деталей контекста, это кажется и может оказаться перспективным.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39715001
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧто именно напугало?
математика это определённый склад ума
читай - армию нейронов нужно создавать, долго и усердно решая задачки
я, в принципе, не сильно против, но нет пока ни времени, ни достаточной мотивации
посматриваю иногда видики Савватеева:
YouTube Video
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39715043
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух, не жалейте себя.

Просто берите и делайте. Не боги горшки обжигают.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39715191
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton.. Не боги горшки обжигают.
Смыслы крылатых фраз плывут и, как правило, меняют свои значения на прямо противоположные исходным.
Эту фразу часто используют в контексте - это легко и просто, тут нет ничего сложного.
Между тем,

Конечно, горшки обжигают именно боги.
Гефест, например, большой умелец и этого искусства тоже, как связанного с огнем.

Но, титан Прометей подарил/вернул людям огонь,
Афина Паллада одарила гончарным кругом,
а Гефест тайком обучил, как пользоваться тем и другим.

Искусство обжигания горшков, это фрагмент силы, способности и возможности жить
рядом с богами, но независимо от них.

Что тогда отличает, владеющих обжиганием горшков людей от богов,
кроме бренности человеческой жизни?

И это отличие, скорее, в пользу людей.
Так как вечную жизнь богов, иначе как проклятие, разумный человек интерпретировать не сможет.

Иначе зачем бы Одиссей убегал от Калипсо, если бы бессмертие не было бы проклятием, и обладало хоть какой-нибудь ценностью.

У бессмертия есть одна особенность, тревожащая людей - на него обречены боги.
Но человеку не нужно бессмертие, чтобы жить рядом с ними и независимо от них.
Гончарного искусства достаточно.

И оно дано даром (с точки зрения людей), но это не значит, что оно не является тайной
и не требует, усилий, приверженности и любви к нему.
Гончар, как и любой ремесленник, это человек способный творить, и творящий шедевр.

И плата, взятая Прометеем с людей за возвращенный/подаренный огонь,
как раз и заключается в готовности людей жить всегда рядом с богами, но независимо от них,
через и с помощью непрерывного создания шедевров.

maytonполудух, не жалейте себя.

Просто берите и делайте.

Ну да, что-то в этом роде.
В том смысле, что дерзай.
Дерзай, стремясь понять и соединить в себе искусство всех творящих богов разом.

Это подразумевает какое-то учение. Хотя бы самоучение.
Но нельзя сотворить шедевр, не дерзнув. Не сказав - вот это я сейчас сделаю сам.

К счастью, пока глину земли не поставили в огонь для обдува жарким воздухом Солна,
её можно смочить водой и пытаться лепить заново.

Разминая глину, человек владеет вселенной, всеми её стихиями.
Да горшки обжигают не боги. Аккуратнее сказать - не только боги.
Но это не значит, что слепив кривой горшок можно сказать - ладно, и так сойдет.

Хоть мы и рядом с богами, но не в Тридевятом Царстве.
Тут, неровён час, и голову отрубить могут, совсем как у богов.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39715248
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
            1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19    20
-------------------------------------------------------------------------------------------------------------------------------
n =  1      0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
n =  2      1     1    -1    -3    -1     5     7    -3   -17   -11    23    45    -1   -91   -89    93   271    85  -457  -627
n =  3      1     2     0    -1     5     7    -6    -5    28    20   -51    -7   155    16  -315   118   796  -385 -1623  1535
n =  4      1     2     3     2    -2    -5    -7   -11    -4    17    20    18    45     1  -115   -54    -1  -242    58   755
n =  5      1     2     3     4     0    -2     8    11     9    19    -8   -23    69    60   -20   119   -52  -245   596   354
n =  6      1     2     3     4     5     3    -3    -7   -10   -16   -20   -23    -8    34    41    37    94   105    82     7
n =  7      1     2     3     4     5     6     0    -3    11    15    12    26    30    27   -15   -36   118   115   -32   209
n =  8      1     2     3     4     5     6     7     4    -4    -9   -13   -21   -26   -30   -38   -43   -11    58    66    65
n =  9      1     2     3     4     5     6     7     8     0    -4    14    19    15    33    38    34    52    57   -37   -60
n = 10      1     2     3     4     5     6     7     8     9     5    -5   -11   -16   -26   -32   -37   -47   -53   -58   -68
n = 11      1     2     3     4     5     6     7     8     9    10     0    -5    17    23    18    40    46    41    63    69
n = 12      1     2     3     4     5     6     7     8     9    10    11     6    -6   -13   -19   -31   -38   -44   -56   -63
n = 13      1     2     3     4     5     6     7     8     9    10    11    12     0    -6    20    27    21    47    54    48
n = 14      1     2     3     4     5     6     7     8     9    10    11    12    13     7    -7   -15   -22   -36   -44   -51
n = 15      1     2     3     4     5     6     7     8     9    10    11    12    13    14     0    -7    23    31    24    54
n = 16      1     2     3     4     5     6     7     8     9    10    11    12    13    14    15     8    -8   -17   -25   -41
n = 17      1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16     0    -8    26    35
n = 18      1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17     9    -9   -19
n = 19      1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18     0    -9
n = 20      1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19    10
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39715259
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и чем это отличается от этого:
полудуходнако нам тут тоже предложить особо нечего, кроме констант на 1000 значений, например
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39716330
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выбрал время, нарисовал мемоизацию для F на VBA с кольцевым буфером.
можно вставить в Excel и поиграть с функцией.

модуль с функцией:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Option Explicit
Option Base 0
Option Compare Binary

Rem модуль bas_memo2


 Rem получение построенного заполненного первоначальными данными буфера
 Private Function get_c_buffer(ByVal n As Long) As cls_cyrcle_vbuffer
  Dim o_buffer As cls_cyrcle_vbuffer
  Set o_buffer = New cls_cyrcle_vbuffer
  o_buffer.Init n
  Set get_c_buffer = o_buffer
 End Function

Function F(ByVal n As Long, ByVal k As Long) As Variant
  Rem требуется n> 0, k >= 0
  
  Dim cn_Zero As Variant
  Dim cn_One As Variant
  cn_Zero = CDec(0)
  cn_One = CDec(1)
  
  If n = 1 Then
    F = cn_Zero
    Exit Function
  End If
  If k < n Then
    F = k
    Exit Function
  End If
  
  Rem получаем буфер
  Dim o_buffer As cls_cyrcle_vbuffer
  Set o_buffer = get_c_buffer(n)
  '-------------------------
  Dim n_sign As Variant, x_value As Variant
  Dim i As Long, j As Long
  
  Rem считаем k-n+1 значений последовательности
  For i = 1 To k - n + 1
    x_value = cn_Zero
    n_sign = cn_One
    Rem цикл расчета одного значения
    For j = 1 To n
      x_value = x_value + (n_sign * j * o_buffer.read_Next_Backward)
      n_sign = -n_sign
    Next j
    Rem помещаем свежерасчитанное значение в буфер
    o_buffer.insert_next x_value
    o_buffer.Rewind_To_Insert_Pos
  Next i

  F = o_buffer.Last_Inserted
    
End Function




класс, обеспечивающий буферизацию
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
Option Explicit
Option Base 0
Option Compare Binary
Rem класс cls_cycle_vbuffer , работает как кольцевой буфер
'----------------------------------
Const ci_Low_end As Long = 0

Rem флаг завершения построения буфера с первоначальным заполнением
Private pb_inited As Boolean

Rem размер буфера
Private p_Size As Long

Rem точка вставки в буфер
Private pi_insert_pos As Long

Rem точка начала обратного чтения
Private pi_backward_read_pos As Long

Rem массив для буфера
Private a_buffer() As Variant

Property Get Size() As Long
  Size = p_Size
End Property

Rem вставка в следующий элемент буфера
Sub insert_next(pn_nextval As Variant)
  Rem смещение позиции вставки
  Dim pos As Long
  pos = pi_insert_pos
  pos = pos + 1
  If (pos >= Size) Then
    pos = ci_Low_end
  End If
  pi_insert_pos = pos
  
  Rem установка значения
  a_buffer(pi_insert_pos) = pn_nextval
 
End Sub

Rem переустановка позиции чтения в последнюю вставленную запись
Sub Rewind_To_Insert_Pos()
 pi_backward_read_pos = pi_insert_pos
End Sub

Rem инициализация буфера размера n и заполнение числами от о до n-1
Sub Init(ByVal n As Long)
  
  ReDim a_buffer(0 To n - 1) As Variant
    
  p_Size = n
  Dim iPos As Long
  For iPos = 0 To n - 1
    insert_next CDec(iPos)
  Next iPos
  Rewind_To_Insert_Pos
  
  pb_inited = True
End Sub

Rem итерируем назад
Property Get read_Next_Backward() As Variant
  Dim iPos As Long
  Dim x_val As Variant
  Rem сначала читаем
  iPos = pi_backward_read_pos
  x_val = a_buffer(iPos)
    
  Rem затем смещаем позицию
  iPos = iPos - 1
  If iPos < ci_Low_end Then
    iPos = Size - 1
  End If
  pi_backward_read_pos = iPos
  read_Next_Backward = x_val
End Property

Rem плучение последнего вставленного значения
Property Get Last_Inserted() As Variant
  Last_Inserted = a_buffer(pi_insert_pos)
End Property

Private Sub Class_Terminate()
  If pb_inited Then
    Erase a_buffer
  End If
End Sub

...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39716950
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby, как VBS запускают на Linux?
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39716956
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonbooby, как VBS запускают на Linux?
не знаю.
Может быть, достаточно поставить wine.
Может быть, потребуется что-то добавить.
Никогда не имел и этим дело.

Для vbs код придется, в любом случае, подредактировать - убрать типы Long как минимум.

Код писался под vba-хост, например - Excel, или любой другой.

Может здесь что умное найдется.
https://stackoverflow.com/questions/20335878/is-it-possible-to-run-a-vbscript-in-unix-environment
https://gist.github.com/Ravenstine/9ccbe8269e8d5d28305b
или где-то рядом.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39716957
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby, сорян. Не буду ставить Wine просто чтоб скриптики запускать.
...
Рейтинг: 0 / 0
Помощь с рекурсией и мемоизацией
    #39716959
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonbooby, сорян....
не вопрос, не за что.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помощь с рекурсией и мемоизацией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]