Запись некоторого натурального числа Х в шестнадцатеричной системе счисления имеет ровно три значащих разряда. Это число увеличили в два раза, и оказалось, что запись получившегося числа У в шестнадцатеричной системе также имее...

Запись некоторого натурального числа Х в шестнадцатеричной системе счисления имеет ровно три значащих разряда. Это число увеличили в два раза, и оказалось, что запись получившегося числа У в шестнадцатеричной системе также имеет ровно три значащих разряда, причем сумма цифр шестнадцатеричной записи исходного числа Х равна сумме цифр шестнадцатеричной записи полученного числа У. Сколько существует таких чисел Х, которые удовлетворяют указанным условиям и при этом содержат хотя бы одну цифру 2 в своей шестнадцатеричной записи? В ответе укажите целое число. Сделайте пожалуйста на Паскале ABC
Гость
Ответ(ы) на вопрос:
Гость
var   n, k, d2, d1, d0: integer;   e2, e1, e0: integer; procedure GetDigits(m: integer; var d2, d1, d0: integer); {Перевод числа [100..FFF]в 16-ю систему счисления} begin   d0 := m mod 16;   m := m div 16;   d1 := m mod 16;   d2 := m div 16 end; begin   n := 0;   {Рассматриваем шестнадцатиричные числа от 100 до 7FF}   for k := $100 to $7FF do   begin     GetDigits(k, d2, d1, d0);     if (d2 = 2) or (d1 = 2) or (d0 = 2) then     begin       GetDigits(2 * k, e2, e1, e0);       if d0 + d1 + d2 = e0 + e1 + e2 then n := n + 1     end   end;   writeln('n=', n) end. Тестовое решение: n=23
Не нашли ответ?
Ответить на вопрос
Похожие вопросы