Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.06.2014, 15:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Tim,
так будет 5 for
function get() {
    var c = [];
    for (var k1 = 0; k1 < 48; k1++) {
        for (var k2 = k1 + 1; k2 < 49; k2++) {
            for (var k3 = k2 + 1; k3 < 50; k3++) {
                for (var k4 = k3 + 1; k4 < 51; k4++) {
                    for (var k5 = k4 + 1; k5 < 52; k5++) {
                        c.push([k1, k2, k3, k4, k5])
                    }
                }
            }
        }

    }
    return c
}

Последний раз редактировалось рони, 05.06.2014 в 20:06. Причина: 52 51 50 49 48
Ответить с цитированием
  #12 (permalink)  
Старый 05.06.2014, 18:06
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

рони,
очень похоже на правду
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #13 (permalink)  
Старый 05.06.2014, 19:25
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от рони
так будет 5 for
чуть подправлю:
var input = [1, 2, 3, 4, 5];
var output = [];
var len = input.length;
// var k = 3;

for(var i = 0; i < len - 2; i++) {
    for(var j = i + 1; j < len - 1; j++) {
        for(var q = j + 1; q < len; q++) {
            output.push([
                input[i],
                input[j],
                input[q]
            ]);
        }
    }
}

console.log(JSON.stringify(output));


формула:
var count = c(5) / (c(5 - 3) * c(3));

console.log(count);

function c(n) {
    for(var i = 1, len = n + 1, r = i; i < len; i++) {
        r *= i;
    }
    return r;
}
Тем не менее, не очень правильно задавать k кол-вом циклов
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 05.06.2014 в 19:27.
Ответить с цитированием
  #14 (permalink)  
Старый 05.06.2014, 19:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

кто сможет решить однострочником-генератором из ES6 ? интересно взглянуть и поизучать
Ответить с цитированием
  #15 (permalink)  
Старый 06.06.2014, 10:54
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сообщение от nerv_
Тем не менее, не очень правильно задавать k кол-вом циклов
нормально (когда оно не слишком большое и не меняется)
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #16 (permalink)  
Старый 06.06.2014, 11:41
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
нормально (когда оно не слишком большое и не меняется)
лучшеб в рекурсию его кинуть)
__________________
Научу себя плохому
Ответить с цитированием
  #17 (permalink)  
Старый 06.06.2014, 14:16
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от l-liava-l
рекурсию
угу. Я тоже об этом подумал вчера

Сделаешь?)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #18 (permalink)  
Старый 06.06.2014, 15:10
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
угу. Я тоже об этом подумал вчера

Сделаешь?)
Нужно думать, не)
__________________
Научу себя плохому
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упростить коэффициенты уравнения Demath Общие вопросы Javascript 2 03.01.2013 19:07