Size: a a a

JavaScript.Ninja

2020 July 15

༼[

༼AndrewKing༽ [Робоко... in JavaScript.Ninja
Евгений
Ребят, чет уже неделю бьюсь над задачей с codewars😂
Нужно найти максимальное произведение из вариантов слагаемых числа... я никак не могу придумать как собрать строки или массивы или любую структуру данных со всевозможными вариантами слагаемых...
Т.е. например, число 15 может быть представлено как:
12 и 3, 8 и 7 или 1, 2, 3, 4 и 5, или 4, 5 и 6, не воткну, как продолжить обход вариантов при нахождении первой комбинации)))) есть идеи?)
Интересная задача, попробую решить у себя, потом отчитаюсь
источник

AP

Alexey Pan in JavaScript.Ninja
Уточнение - слагаемые являются уникальными числами?
источник

Е

Евгений in JavaScript.Ninja
Alexey Pan
Уточнение - слагаемые являются уникальными числами?
Видимо да, у 6 выход 8 а не 9
источник

AP

Alexey Pan in JavaScript.Ninja
Ссылку на кату можно?
источник

Е

Евгений in JavaScript.Ninja
источник

Е

Евгений in JavaScript.Ninja
У меня мозг закипел, а последние 3-4 дня даже на обычную мощность не работает😂 надо как-то отвлечься)
источник

Е

Евгений in JavaScript.Ninja
Там простые слагаемы и перемножаешь их... проблема в том, что их может быть 2 а может и 4, а может и больше) пытался через цикл с рекурсией, но я не вижу точки выхода из рекурсии... т.к. их не ясно сколько..  пытался завязаться на уменьшение числа до нуля - либо массив из массивов, либо еще что-то... либо до первого варианта походящего... топчусь на одном месте....
источник

M

Misha in JavaScript.Ninja
Евгений
Там простые слагаемы и перемножаешь их... проблема в том, что их может быть 2 а может и 4, а может и больше) пытался через цикл с рекурсией, но я не вижу точки выхода из рекурсии... т.к. их не ясно сколько..  пытался завязаться на уменьшение числа до нуля - либо массив из массивов, либо еще что-то... либо до первого варианта походящего... топчусь на одном месте....
А стоп я чет туплю
источник

SK

Sergey Kostyrko in JavaScript.Ninja
поищи алгоритм получения композиции числа
источник

PK

Pasha K in JavaScript.Ninja
function maximumProduct(n) {
   function fn(m, i, a) {
     if (m === 0) return a;
     if (m < 0 || i > m) return 0;
     return Math.max(fn(m-i, i+1, a*i), fn(m, i+1, a));
   }
   return fn(n, 2, 1);
}
источник

M

Misha in JavaScript.Ninja
Pasha K
function maximumProduct(n) {
   function fn(m, i, a) {
     if (m === 0) return a;
     if (m < 0 || i > m) return 0;
     return Math.max(fn(m-i, i+1, a*i), fn(m, i+1, a));
   }
   return fn(n, 2, 1);
}
function maximumProduct(n) {
 return [6, 8, 12, 15, 24, 30, 40, 60, 72, 120, 144, 180, 240, 360, 420, 720, 840, 1008, 1260, 1680, 2520, 2880, 5040,
5760, 6720, 8064, 10080, 13440, 20160, 22680, 40320, 45360, 51840, 60480, 72576, 90720, 120960, 181440, 201600, 362880, 403200,
453600,518400,604800,725760,907200,1209600,1814400,1995840,3628800,3991680,4435200,4989600,5702400,6652800,7983360,9979200,13305600,
19958400,21772800,39916800,43545600,47900160,53222400,59875200,68428800,79833600,95800320,119750400,159667200,239500800,259459200,479001600,
518918400,566092800,622702080,691891200,778377600,889574400,1037836800,1245404160,1556755200,2075673600,3113510400,3353011200,6227020800,
6706022400,7264857600,7925299200,8717829120,9686476800,10897286400,12454041600,14529715200,17435658240,21794572800,29059430400][n-5];
}

тоже хорошее
источник

Е

Евгений in JavaScript.Ninja
Pasha K
function maximumProduct(n) {
   function fn(m, i, a) {
     if (m === 0) return a;
     if (m < 0 || i > m) return 0;
     return Math.max(fn(m-i, i+1, a*i), fn(m, i+1, a));
   }
   return fn(n, 2, 1);
}
Крутил этот алгоритм, но чет не разобрался как его на js перетащить))) спасиб, проанализирую в инспекторе)
источник

Е

Евгений in JavaScript.Ninja
Misha
function maximumProduct(n) {
 return [6, 8, 12, 15, 24, 30, 40, 60, 72, 120, 144, 180, 240, 360, 420, 720, 840, 1008, 1260, 1680, 2520, 2880, 5040,
5760, 6720, 8064, 10080, 13440, 20160, 22680, 40320, 45360, 51840, 60480, 72576, 90720, 120960, 181440, 201600, 362880, 403200,
453600,518400,604800,725760,907200,1209600,1814400,1995840,3628800,3991680,4435200,4989600,5702400,6652800,7983360,9979200,13305600,
19958400,21772800,39916800,43545600,47900160,53222400,59875200,68428800,79833600,95800320,119750400,159667200,239500800,259459200,479001600,
518918400,566092800,622702080,691891200,778377600,889574400,1037836800,1245404160,1556755200,2075673600,3113510400,3353011200,6227020800,
6706022400,7264857600,7925299200,8717829120,9686476800,10897286400,12454041600,14529715200,17435658240,21794572800,29059430400][n-5];
}

тоже хорошее
А вот это вобще не понял😂
источник

Е

Евгений in JavaScript.Ninja
Misha
function maximumProduct(n) {
 return [6, 8, 12, 15, 24, 30, 40, 60, 72, 120, 144, 180, 240, 360, 420, 720, 840, 1008, 1260, 1680, 2520, 2880, 5040,
5760, 6720, 8064, 10080, 13440, 20160, 22680, 40320, 45360, 51840, 60480, 72576, 90720, 120960, 181440, 201600, 362880, 403200,
453600,518400,604800,725760,907200,1209600,1814400,1995840,3628800,3991680,4435200,4989600,5702400,6652800,7983360,9979200,13305600,
19958400,21772800,39916800,43545600,47900160,53222400,59875200,68428800,79833600,95800320,119750400,159667200,239500800,259459200,479001600,
518918400,566092800,622702080,691891200,778377600,889574400,1037836800,1245404160,1556755200,2075673600,3113510400,3353011200,6227020800,
6706022400,7264857600,7925299200,8717829120,9686476800,10897286400,12454041600,14529715200,17435658240,21794572800,29059430400][n-5];
}

тоже хорошее
Это тупо ответы подставили?😁
источник

M

Misha in JavaScript.Ninja
Евгений
Это тупо ответы подставили?😁
учитывая что там есть рандомные тесты не тупо
источник

Е

Евгений in JavaScript.Ninja
Misha
учитывая что там есть рандомные тесты не тупо
Брутфорс))
источник

PG

Pavel Gubin in JavaScript.Ninja
Евгений
Ребят, чет уже неделю бьюсь над задачей с codewars😂
Нужно найти максимальное произведение из вариантов слагаемых числа... я никак не могу придумать как собрать строки или массивы или любую структуру данных со всевозможными вариантами слагаемых...
Т.е. например, число 15 может быть представлено как:
12 и 3, 8 и 7 или 1, 2, 3, 4 и 5, или 4, 5 и 6, не воткну, как продолжить обход вариантов при нахождении первой комбинации)))) есть идеи?)
На сколько помню есть не сложная формула нахождения таких пар, куда то в алгебру смотреть
источник

Е

Евгений in JavaScript.Ninja
Pavel Gubin
На сколько помню есть не сложная формула нахождения таких пар, куда то в алгебру смотреть
Так тут не пары... слагаемых может быть от двух и больше.... и чем больше число - тем больше может быть у него слагаемых...
источник

VV

Varenic Victor in JavaScript.Ninja
На одном из "Ask me anything"  я точно помню, упоминалась билиотека для graphql и knex, для N+1 проблемы. Можете напомнить плиз
источник

IK

Illya Klymov in JavaScript.Ninja
Varenic Victor
На одном из "Ask me anything"  я точно помню, упоминалась билиотека для graphql и knex, для N+1 проблемы. Можете напомнить плиз
Facebook dataloader?
источник