Показать сообщение отдельно
  #3 (permalink)  
Старый 04.08.2011, 13:11
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

function getAllCombination ( list ) {
	var len = list.length, 
		binaryList = Array(len+1).join(0).split('');
	var result = [], pos, resultStep;
	while ( true ) {
		pos = 0;
		resultStep = [];
		while ( binaryList[ pos ]  ) { 
			binaryList[ pos ] = 0; 
			pos++; 
		}
		if ( pos == len ) { break; }
		binaryList[ pos ] = 1;
		for ( var j = len; j--; ) { 
			if ( binaryList[j] ) {
				resultStep[ resultStep.length ] = list[j];
			} 
		}
		result[ result.length ] = resultStep.sort();
	}
	return result;
}

getAllCombination( [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] );

Последний раз редактировалось nikita.mmf, 04.08.2011 в 13:16.
Ответить с цитированием