Вообще то, это задача чисто математическая. Пусть есть трехзначное число abc. По условию:
abc + abc
bca Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений: 2c = a +16 2b +1 = c + 16 2a + 1 = b равносильная ей система 2с = a + 16 c = 2b - 15 b = 2a + 1 подставляем третье во второе, получаем первые два уравнения 2с = a + 16 c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13 13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16) -> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
Выполнить деление исходного числа на 2. Если результат деления больше или равен 2, продолжать делить его на 2 до тех пор, пока результат деления не станет равен 1
2). Выписать результат последнего деления и все остатки от деления в обратном порядке в одну строку.
3) выполняем инверсию всех битов
4) к результату добавляем 1
Получается:
1) делим -89 на 2 = 44, остаток 1 - пишем -1, т. к. остаток 1
2) 44/2=22, без остатка, пишем 0
3) 22/2=11, без остатка, пишем 0
4) 11/2=5, остаток 1, пишем 1
5) 5/2=2, остаток 1, пишем 1
6) 2/2=1, без остатка, пишем 0
7) 1/2=0, остаток 1, пишем 1
Записываем в обратном порядке полученные 7 цифр 1011001
По условию:
abc
+ abc
bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13
13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16)
-> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
1011010
Объяснение:
Алгоритм перевода в двоичную систему:
1)
Переводим модуль числа в двоичную систему
Выполнить деление исходного числа на 2. Если результат деления больше или равен 2, продолжать делить его на 2 до тех пор, пока результат деления не станет равен 1
2). Выписать результат последнего деления и все остатки от деления в обратном порядке в одну строку.
3) выполняем инверсию всех битов
4) к результату добавляем 1
Получается:
1) делим -89 на 2 = 44, остаток 1 - пишем -1, т. к. остаток 1
2) 44/2=22, без остатка, пишем 0
3) 22/2=11, без остатка, пишем 0
4) 11/2=5, остаток 1, пишем 1
5) 5/2=2, остаток 1, пишем 1
6) 2/2=1, без остатка, пишем 0
7) 1/2=0, остаток 1, пишем 1
Записываем в обратном порядке полученные 7 цифр 1011001
3) 0100110
4) 0100110
+ 1
получаем 1011010