Показать сообщение отдельно
  #1 (permalink)  
Старый 09.08.2012, 13:12
Аватар для Mersedes!
Интересующийся
Отправить личное сообщение для Mersedes! Посмотреть профиль Найти все сообщения от Mersedes!
 
Регистрация: 09.08.2012
Сообщений: 11

9-ти разрядная матрица
Всем здравствуйте! Это моя первая работа на JS : )
Думаю все знают что такое математическая матрица. В этом простеньком скрипте продемонстрирован перебор всех возможных 9-ти разрядных матриц в числовом диапазоне от 100 000 000 до 900 000 000. Например от ста до двухсот миллионов их - 94. Сколько матричных комбинаций в миллиардном диапазоне не знаю, т.к. до конца не проверял : )


var counter = 0;
var matrix = "100000000";
              
while ( matrix != "900000000" )
{
	parseInt( matrix++ );//  увеличиваем каждый раз число на 1
	matrix += "";//  Преобразуем в строку
	
		
	if ( parseInt( matrix.charAt(0) )  +  parseInt( matrix.charAt(1) )  +   parseInt( matrix.charAt(2) ) == // Если 1-ая горизонталь равна 2-ой
		 parseInt( matrix.charAt(3) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(5) ))
	{
	}
	
	else
		continue;
			
	if ( parseInt( matrix.charAt(3) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(5) ) ==// Если 2-ая горизонталь равна 3-ей
		 parseInt( matrix.charAt(6) )  +  parseInt( matrix.charAt(7) )  +   parseInt( matrix.charAt(8) ))
	{
	
	}
	
	else
		continue;
	
	if ( parseInt( matrix.charAt(0) )  +  parseInt( matrix.charAt(1) )  +   parseInt( matrix.charAt(2) ) ==// Если 1-ая горизонталь равна 3-ей
		 parseInt( matrix.charAt(6) )  +  parseInt( matrix.charAt(7) )  +   parseInt( matrix.charAt(8) ))
	{
		
	}
	
	else
		continue;
	
	if ( parseInt( matrix.charAt(0) )  +  parseInt( matrix.charAt(3) )  +   parseInt( matrix.charAt(6) ) ==// Если 1-ая вертикаль равна 2-ой
		 parseInt( matrix.charAt(1) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(7) ))
	{
		
	}
		 
	else
		continue;
	
	if ( parseInt( matrix.charAt(1) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(7) ) ==// Если 2-ая вертикаль равна 3-ей
		 parseInt( matrix.charAt(2) )  +  parseInt( matrix.charAt(5) )  +   parseInt( matrix.charAt(8) ))
	{
		
	}
		 
	else
		continue;
		 
	if ( parseInt( matrix.charAt(0) )  +  parseInt( matrix.charAt(3) )  +   parseInt( matrix.charAt(6) ) ==// Если 1-ая вертикаль равна 3-ей
		 parseInt( matrix.charAt(2) )  +  parseInt( matrix.charAt(5) )  +   parseInt( matrix.charAt(8) ))
	{
		
	}
		 
	else
		continue;
		 
	if ( parseInt( matrix.charAt(0) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(8) ) ==// Если одна диагональ равна другой
		 parseInt( matrix.charAt(2) )  +  parseInt( matrix.charAt(4) )  +   parseInt( matrix.charAt(6) ))
	{
		counter++;
		
		alert( "   ~~" + matrix + "~~" + "\n" + "Найдено матриц: " + counter );
	
		
	}
	
	
	
}
Ответить с цитированием