Size: a a a

2020 September 05

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Yntermench
Ну,её учить не так уж и долго,но наличие данного языка в кармане увеличивает шансы на собесе(я так думаю)
Ну, мб это и так
источник

S

SHKURMANDER in CODE BLOG / C#
Teng Jin
привет ребят, у меня есть задача которую можно решить вручную, но я хочу сделать её на языке Pascal. Не подскажите чаты по pascal-ю? Задача: есть Исполнитель, который знает 3 команды 1) + 1 2) * 2 3) * 3. Необходимо вычислить количество вариантов программ для Исполнителя, которые из числа 2 приводят к числу 44. При этом функция получения вариантов программ - f(n) = f(n - 1) + f(n  / 2) + f(n / 3). При этом n всегда должно быть целым. f(2)=f(3)=1. Я решил на python, а вот как решать на pascal хч.
А в чем проблема с паскалем?
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
для меня ормом довольно удобно
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
да и на собесы мне не надо
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
так что каждому свое
источник

TJ

Teng Jin in CODE BLOG / C#
SHKURMANDER
А в чем проблема с паскалем?
там нету декораторов) я написал рекурсивную функцию, но она выполняется вечность, а кешировать её я не могу, т.к. нету декораторов
источник

S

SHKURMANDER in CODE BLOG / C#
Алгоритм какой у тебя?
источник

S

SHKURMANDER in CODE BLOG / C#
Декораторы это  сахар
источник

TJ

Teng Jin in CODE BLOG / C#
на питоне скину, ок?
источник

TJ

Teng Jin in CODE BLOG / C#
def cached(func):
   results = {}

   def decorated_func(arg):
       if arg in results:
           return results[arg]
       results[arg] = func(arg)
       return func(arg)
   return decorated_func


@cached
def f(n):
   if n == 2 or n == 3:
       return 1
   if not n % 2:
       if not n % 3:
           return f(n - 1) + f(n // 2) + f(n // 3)
       return f(n - 1) + f(n // 2)
   if not n % 3:
       return f(n - 1) + f(n // 3)
   return f(n - 1)

print(f(44))
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Teng Jin
def cached(func):
   results = {}

   def decorated_func(arg):
       if arg in results:
           return results[arg]
       results[arg] = func(arg)
       return func(arg)
   return decorated_func


@cached
def f(n):
   if n == 2 or n == 3:
       return 1
   if not n % 2:
       if not n % 3:
           return f(n - 1) + f(n // 2) + f(n // 3)
       return f(n - 1) + f(n // 2)
   if not n % 3:
       return f(n - 1) + f(n // 3)
   return f(n - 1)

print(f(44))
Дак кэшируй вручную динамическим массивом, в чем проблема?
источник

TJ

Teng Jin in CODE BLOG / C#
🗿🗿🗿 Ilushkins 🗿🗿🗿
Дак кэшируй вручную динамическим массивом, в чем проблема?
не знаю как)
источник

S

SHKURMANDER in CODE BLOG / C#
Не понятно что есть n
источник

TJ

Teng Jin in CODE BLOG / C#
Я не знаю паскаль)
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Teng Jin
не знаю как)
Ну в массив заполняй
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
значение рекурсии
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Teng Jin
Я не знаю паскаль)
А зачем тебе этот мамонт вообще сдался
источник

TJ

Teng Jin in CODE BLOG / C#
🗿🗿🗿 Ilushkins 🗿🗿🗿
А зачем тебе этот мамонт вообще сдался
училка против питона конкретно
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Teng Jin
училка против питона конкретно
И пофигу
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in CODE BLOG / C#
Ты в каком классе?
источник