Примечание: "шаг X" означает таблицу на рисунке, которая совпадает с номером X.
1. Рисуем квадрат 4x4 и заполняем известными значениями (шаг 1).
2. Видим, что в диагонали отсутствует одно число. Но мы знаем, что сумма чисел в диагонали магического квадрата равна константе, которая вычисляется по формуле:
Подставляем в формулу известные значения:
Теперь вычитаем известные значения в диагонали: 34 - 13 - 11 - 4 = 6.
Подставляем в пустую клетку это значение (шаг 2).
3. Так же есть свойство магического квадрата 4x4: квадраты 2x2 на углах квадрата 4x4 тоже "равны" константе. Нам известен левый нижний угол. Если сложить все числа, получится 34. В правом верхнем квадрате нам не известно одно число. Вычитаем известные значения из константы: 34 -2 -13 - 11 = 8. Подставляем в пустую клетку значение 8 (шаг 3).
4. Шаг 4.
В условии сказано, что это нормальный магический квадрат, то есть в нем должны быть числа от 1 до 16. Выпишем справа числа, которых еще нет в магическом квадрате. Также над каждой колонкой и рядом с каждой строкой запишем количество, которого не хватает до 34-х.
Видим две колонки, которым не хватает 21-го. 21 из имеющихся чисел можно получить добавив либо 16 + 5, либо 14 + 7. Записываем о одну колонку 16 и 5, а в другую 14 и 7. Как мы видим, по столбцам все правильно, так как над ними написан 0. А вот по строкам не сходится. К первой строке и ко второй надо добавить те числа, которые у нас есть в наборе, но вот 5 и 8 уже есть в квадрате, значит что-то мы сделали неправильно (шаг 5).
5. Тогда попробуем поменять местами в 3-ей колонке 14 и 7 (шаг 6). Теперь мы видим, что можем поставить в каждую строку недостающее значение из оставшихся чисел (шаг 7). Получился магический квадрат для расшифровки.
6. Подставляем оставшиеся числа из списка. И проверяем, расшифровывая сообщение. После расшифровки получится фраза FIRSTTHINGSFIRST. Эта фраза осмысленная, потому что если добавить пробелы, получится выражение FIRST THINGS FIRST.
using System;
namespace ConcoleApplication
{
class Program
{
enum CardinalPoints //Стороны света
{
North,
West,
South,
East
}
public static int Convert(int a)//Перевод команды(сделал для удобства)
{
if (a == -1)
return 3;
if (a == 1)
return 1;
return 2;
}
public static void Main()
{
var n1 = int.Parse(Console.ReadLine());
var n2 = int.Parse(Console.ReadLine());
n1 = Convert(n1);
n2 = Convert(n2);
var point = (n1 + n2) % 4;
switch ((CardinalPoints) point)//Вывод ответа
{
case CardinalPoints.East:
Console.WriteLine("Восток");
break;
case CardinalPoints.South:
Console.WriteLine("Юг");
break;
case CardinalPoints.West:
Console.WriteLine("Запад");
break;
case CardinalPoints.North:
Console.WriteLine("Север");
break;
}
}
}
}
Объяснение:
Советую потестировать. Если что исправлю, самому просто лень было тестировать)
ответ: FIRSTTHINGSFIRST
Примечание: "шаг X" означает таблицу на рисунке, которая совпадает с номером X.
1. Рисуем квадрат 4x4 и заполняем известными значениями (шаг 1).
2. Видим, что в диагонали отсутствует одно число. Но мы знаем, что сумма чисел в диагонали магического квадрата равна константе, которая вычисляется по формуле:
Подставляем в формулу известные значения:
Теперь вычитаем известные значения в диагонали: 34 - 13 - 11 - 4 = 6.
Подставляем в пустую клетку это значение (шаг 2).
3. Так же есть свойство магического квадрата 4x4: квадраты 2x2 на углах квадрата 4x4 тоже "равны" константе. Нам известен левый нижний угол. Если сложить все числа, получится 34. В правом верхнем квадрате нам не известно одно число. Вычитаем известные значения из константы: 34 -2 -13 - 11 = 8. Подставляем в пустую клетку значение 8 (шаг 3).
4. Шаг 4.
В условии сказано, что это нормальный магический квадрат, то есть в нем должны быть числа от 1 до 16. Выпишем справа числа, которых еще нет в магическом квадрате. Также над каждой колонкой и рядом с каждой строкой запишем количество, которого не хватает до 34-х.
Видим две колонки, которым не хватает 21-го. 21 из имеющихся чисел можно получить добавив либо 16 + 5, либо 14 + 7. Записываем о одну колонку 16 и 5, а в другую 14 и 7. Как мы видим, по столбцам все правильно, так как над ними написан 0. А вот по строкам не сходится. К первой строке и ко второй надо добавить те числа, которые у нас есть в наборе, но вот 5 и 8 уже есть в квадрате, значит что-то мы сделали неправильно (шаг 5).
5. Тогда попробуем поменять местами в 3-ей колонке 14 и 7 (шаг 6). Теперь мы видим, что можем поставить в каждую строку недостающее значение из оставшихся чисел (шаг 7). Получился магический квадрат для расшифровки.
6. Подставляем оставшиеся числа из списка. И проверяем, расшифровывая сообщение. После расшифровки получится фраза FIRSTTHINGSFIRST. Эта фраза осмысленная, потому что если добавить пробелы, получится выражение FIRST THINGS FIRST.