Все числа от 1 до 2019 записаны подряд по кругу. на каждом шаге берутся все пары соседних чисел и
либо складываются, либо из большего вычитается меньшее, и результат записывается между
исходными числами. затем все исходные числа удаляются. всего было сделано n шагов (0 < n < 100).
для какого количества значений n после n шагов в кругу могут остаться только нечетные числа.
static void Main(string[] args)
{
int N = 0;
Console.Write("Введите размерность массива: ");
N = Convert.ToInt32(Console.ReadLine());
double[,] mas = new double[N, N];
double sum = 0;
int viborStroki = 0;
Console.Write("Введите номер строки: ");
viborStroki = Convert.ToInt32(Console.ReadLine());
Random rnd = new Random();
for(int i = 0; i < N; i++)
{
for(int j = 0; j<N; j++)
{
mas[i, j] = rnd.Next(0, 10);
}
}
for (int i = viborStroki - 1; i < viborStroki; i++)
{
for(int j = 0; j < N; j++)
{
sum += Math.Pow(mas[i, j], 2);
}
}
Console.WriteLine();
Console.Write("Массив: ");
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(String.Format("{0,3}", mas[i, j]));
}
Console.WriteLine();
}
Console.Write("Сумма квадратов элементов {0}-й строки = ", viborStroki);
Console.Write("{0}", sum);
Console.ReadKey();
}
Объяснение:
Вводим размерность массива, вводим номер строки, программа считает сумму квадратов элементов введённой строки.
1) 9 км
Объяснение:
Транспортная задача (классика теории графов).
Населенные пункты - названия столбцов и строк. Число в пересечении строк и столбцов - расстояние между соответствующими населенными пунктами. Например, для нахождения расстояния между населенными пунктами E и D найдем пересечение строки E и столбца D. На пересечении стоит 1. Значит расстояние между этими населенными пунктами равно одному километру.
Поскольку движение между населенными пунктами двустороннее, длина пути из пункта E в пункт D, равна длине пути из пункта D в пункт E. По этой причине на пересечении строки E и столбца D стоит тоже значение, что и на пересечении строки D и столбца E. То есть матрица симметричная. Главная диагональ матрицы закрашена, поскольку маршрута из населенного пункта в самого себя не существует.
Вот, собственно и весь смысл приведенной таблицы.
Теперь по поводу задания: найти кротчайший путь от населенного пункта B в населенный пункт C.
Рассмотрим строку B (при желании можно и столбец, ведь матрица-то симметричная).
Единственный путь, который ведет из пункта B ведет в пункт A (никаких других значений в строке B нет).
Длина пути BA равна 3 км.
Посмотрим, куда можно попасть из пункта A.В строке A три значения:
1) |AB|=3 км
нам туда не надо, мы только что оттуда вышли
2) |AC|=7 км
Итак, у нас есть длина первого пути: |BC|=|BA|+|AC|=3+7=10 км.
3) |AF|=2 км
Из F можно вернуться в A и попасть в D. Из D можно попасть в С и в тот-же F. Получаем второй маршрут: |BC|=|BA|+|AF|+|FD|+|DC|=3+2+2+3=10 км.
Рассмотрим обратный путь из C в B.
Населенный пункт C соединен с тремя населенными пунктами: A,D и E.
Проезд через A и D мы рассмотрели, остается проезд через E.
|CB|=|CE|+|ED|+|DF|+|FA|+|AB|=1+1+2+2+3=9 км
Ну, вот мы и нашли кротчайший путь, из всех возможных.