Тут очень просто считается Рассмотрим число 10101011 Надо разбить на блоки по 4 цифры 1010 и 1011 и перевести в десятичную систему 8 + 2 = 10 и 8 + 2 + 1 = 11 B = 11, C = 12, поэтому первое число подходит (10 < 11 и 11 < 12) Дальше аналогично 1001 1100 => 9, 12, подходит 1100 0111=> 12, 7 не походит 1011 0100 => 11, 4 подходит
Sub maxZn()'заполнение массива Dim mas(20) S = "" Randomize For i = 1 To 20 mas(i) = Round(Rnd(100) * 100) S = S + Str(mas(i)) + "," Next i'поиск максимального числа и количества его повторений qty = 1 max = mas(1) 'предполагаем, что максимальное число в первом элементе массива For i = 2 To 20 If mas(i) = max Then qty = qty + 1 End If If mas(i) > max Then max = mas(i) qty = 1 End If Next i MsgBox "последовательность чисел " + S MsgBox "максимальное число " + Str(max) + "число повторений " + Str(qty) End Sub Sub test() Call maxZnEnd Sub
Public static double CosineBetweenVectors(double[] a, double[] b) { 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); }
Рассмотрим число
10101011
Надо разбить на блоки по 4 цифры
1010 и 1011
и перевести в десятичную систему
8 + 2 = 10 и 8 + 2 + 1 = 11
B = 11, C = 12, поэтому первое число подходит (10 < 11 и 11 < 12)
Дальше аналогично
1001 1100 => 9, 12, подходит
1100 0111=> 12, 7 не походит
1011 0100 => 11, 4 подходит
ответ: 3 числа.