Начинаем с конца. Нужно получить 58, поэтому с него и начнем.
58 нельзя извлечь из-под корня (извлечение корня обратно возведению в квадрат), но можно прибавить 3 (обратно вычитанию 3): 58+3=61
61 тоже не извлечь из-под корня, прибавляем 3: 61+3=64
Корень 64=8.
8+3=11
и, наконец, 11+3=14. Записываем действия в обратном порядке: сначала второе действие и т.д. Есть непонятные места?
не знаю синтаксис паскаля, но думаю сможешь перевезти:
n,a as integer
a:=(n mod 10) - (n div 10);
if a<0 then
a:=a*-1;
write(a);
end.
Прямой код:
9₁₀=00001001₂
2₁₀=00000010₂
5₁₀=00000101₂
7₁₀=00000111₂
Обратный код:
-9₁₀=11110110₂
-2₁₀=11111101₂
-5₁₀=11111010₂
-7₁₀=11111000₂
Дополнительный код:
-9₁₀=11110111₂
-2₁₀=11111110₂
-5₁₀=11111011₂
-7₁₀=11111001₂
Обр. коды:
а) 9-2=00001001+11111101=100000110₂
б) 2-9=00000010+11110110=11111000₂
в) -5-7=11111010+11111000=111110010₂
Доп. коды:
а) 9-2=00001001+11111110=100000111₂
б) 2-9=00000010+11110111=11111001₂
в) -5-7=11111011+11111001=111110100₂
В 10 раз
Пример:1,00001*10=10,0001