У исполнителя Дельта две команды, которым присвоены номера: 1. умножить на 2
2. вычесть d
(d – неизвестное натуральное число; d ≥ 2)
Выполняя первую из них, Дельта увеличивает число на экране в 2 раза,
а выполняя вторую, уменьшает это число на d . Программа для
исполнителя Дельта – это последовательность номеров
команд. Известно, что программа 22112122 переводит число 19 в
число 12. Определите значение d.
{
if (a.Length != b.Length || a.Length == 0) throw new Exception("не верные параметры");
double ab = 0;
double a_length = 0;
double b_length = 0;
for (var i = 0; i < a.Length; i++)
{
ab += a[i] * b[i];
a_length = a[i] * a[i];
b_length = b[i] * b[i];
}
if (a_length * b_length == 0) throw new Exception("Нулевые вектора");
return ab / Math.Sqrt(a_length) / Math.Sqrt(b_length);
}