Прежде всего, основание 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₂ - последняя цифра нечетная.
Всего получилось 5+2 = 7 систем счисления.
rebet61
22.08.2021
Option Explicit
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
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Даны два числа найти сумму этих чисел если первое число не меньше второго и найти их произведение в противном случае. блок схема и на паскале.
var
first, otvet, second: longint;
begin
write('Первое число = ');
readln(first);
write('Второе число = ');
readln(second);
if first < second then
otvet := first + second
else
otvet := second * first;
writeln('ответ: ', otvet);
end.
отметь как лучший