Sub aaa() Const n = 5 Dim A(1 To n, 1 To n) As Long, E(1 To n, 1 To n) As Long Dim i As Integer, j As Integer, k As Integer ' инициализация матриц For i = 1 To n For j = 1 To n If i = j Then A(i, j) = 0 ' глупо тут вычислять i-j E(i, j) = 1 Else A(i, j) = i - 2 * j E(i, j) = 0 End If Next j Next i ' A^2 - просто умножение матрицы самой на себя Dim B(1 To n, 1 To n) As Long For i = 1 To n For j = 1 To n B(i, j) = 0 For k = 1 To n B(i, j) = B(i, j) + A(i, k) * A(k, j) Next k Next j Next i ' 3A^2 - A + 7E For i = 1 To n For j = 1 To n B(i, j) = 3 * B(i, j) - A(i, j) + 7 * E(i, j) Next j Next i ' Поиск столбца B с максимальной суммой модулей элементов Dim S As Long, Max As Long, jj As Long Max = -1000000 For j = 1 To n S = 0 For i = 1 To n S = S + Abs(B(i, j)) Next i If S > Max Then Max = S jj = j End If Next j ' Вывод на лист Excel Range(Cells(1, 1), Cells(n + 1, 2)).Clear Cells(1, 1) = "Столбец " + CStr(jj) For i = 1 To n Cells(i + 1, 1) = B(i, jj) Next i End Sub
Прежде всего, основание 17 - в нем 17₁₀ запишется как 10 - подходит, четное.
Далее, основания меньше 17, в которых запись числа 17₁₀ состоит из двух цифр. 17 = 16+1 = 15+2 = 14+3 = 13+4 = 12+5 = 11+6 = 10+7 = 9+8 = 8+9 = ... Вариант 8+9 уже не подходит. Легко догадаться, что 16+1 - это 1×16+11 = 11₁₆ в развернутом виде, 15+2 = 12₁₅, 14+3 = 13₁₄ ... 9+8 = 18₉ и это последнее двухзначное число. 8+9 - это совсем не "9₈", поскольку цифра в записи числа не может быть даже равна основанию системы счисления, а не то, чтобы превышать его. Итак, пока насчитали 5 оснований систем счисления.
Остановились на основании 8. 17 = 2×8+1 = 21₈. Последняя цифра нечетная. 17 = 2×7+3 = 23₇. Последняя цифра также нечетная. 17 = 2×6+5 = 25₆. И здесь последняя цифра нечетна. 17 = 3×5+2 = 32₅. Подходит 17 = 4×4+1, но по основанию 4 не существует четверки в записи. Все, двухзначные числа закончились. 17 = 1×3² + 2×3¹ + 2×3⁰ = 122₃. Последняя цифра четная. 17 = 10001₂ - последняя цифра нечетная.
Sub aaa()
Const n = 5
Dim A(1 To n, 1 To n) As Long, E(1 To n, 1 To n) As Long
Dim i As Integer, j As Integer, k As Integer
' инициализация матриц
For i = 1 To n
For j = 1 To n
If i = j Then
A(i, j) = 0 ' глупо тут вычислять i-j
E(i, j) = 1
Else
A(i, j) = i - 2 * j
E(i, j) = 0
End If
Next j
Next i
' A^2 - просто умножение матрицы самой на себя
Dim B(1 To n, 1 To n) As Long
For i = 1 To n
For j = 1 To n
B(i, j) = 0
For k = 1 To n
B(i, j) = B(i, j) + A(i, k) * A(k, j)
Next k
Next j
Next i
' 3A^2 - A + 7E
For i = 1 To n
For j = 1 To n
B(i, j) = 3 * B(i, j) - A(i, j) + 7 * E(i, j)
Next j
Next i
' Поиск столбца B с максимальной суммой модулей элементов
Dim S As Long, Max As Long, jj As Long
Max = -1000000
For j = 1 To n
S = 0
For i = 1 To n
S = S + Abs(B(i, j))
Next i
If S > Max Then
Max = S
jj = j
End If
Next j
' Вывод на лист Excel
Range(Cells(1, 1), Cells(n + 1, 2)).Clear
Cells(1, 1) = "Столбец " + CStr(jj)
For i = 1 To n
Cells(i + 1, 1) = B(i, jj)
Next i
End Sub
Далее, основания меньше 17, в которых запись числа 17₁₀ состоит из двух цифр.
17 = 16+1 = 15+2 = 14+3 = 13+4 = 12+5 = 11+6 = 10+7 = 9+8 = 8+9 = ...
Вариант 8+9 уже не подходит.
Легко догадаться, что 16+1 - это 1×16+11 = 11₁₆ в развернутом виде,
15+2 = 12₁₅, 14+3 = 13₁₄ ...
9+8 = 18₉ и это последнее двухзначное число. 8+9 - это совсем не "9₈", поскольку цифра в записи числа не может быть даже равна основанию системы счисления, а не то, чтобы превышать его.
Итак, пока насчитали 5 оснований систем счисления.
Остановились на основании 8.
17 = 2×8+1 = 21₈. Последняя цифра нечетная.
17 = 2×7+3 = 23₇. Последняя цифра также нечетная.
17 = 2×6+5 = 25₆. И здесь последняя цифра нечетна.
17 = 3×5+2 = 32₅. Подходит
17 = 4×4+1, но по основанию 4 не существует четверки в записи.
Все, двухзначные числа закончились.
17 = 1×3² + 2×3¹ + 2×3⁰ = 122₃. Последняя цифра четная.
17 = 10001₂ - последняя цифра нечетная.
Всего получилось 5+2 = 7 систем счисления.