Шешімі: Подсчёт шестнадцатеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 7. Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Программа должна напечатать только одно число — количество искомых элементов последовательности.
Шешім по шагам
4 қадамТрёхзначная запись в шестнадцатеричной системе начинается с числа $100_{16} = 256_{10}$ и заканчивается числом $FFF_{16} = 4095_{10}$.
$$256 \leq n \leq 4095$$Последняя шестнадцатеричная цифра числа определяется остатком от деления на 16. Поэтому последняя цифра равна 7, если остаток равен 7.
$$n \bmod 16 = 7$$Последовательно считываем числа до нуля. Если число удовлетворяет обоим условиям, увеличиваем счётчик.
После завершения ввода выводим значение счётчика.
Программа должна считать числа, для которых $256 \leq n \leq 4095$ и $n \bmod 16 = 7$, и вывести количество таких чисел.
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в обрабатываемую последовательность.
Проверяют только последнюю цифру, но не проверяют, что шестнадцатеричная жазба трёхзначная.
Используют деление на 10 вместо деления на 16.
Ошибочно считают число 4096 трёхзначным в шестнадцатеричной системе.