Всем здравствуйте! Это моя первая работа на 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 );
}
}