<u><em>Microsoft qBASIC:</em></u>
DIM n AS LONG
CLS
INPUT "Введите число ", n
INPUT "Введите цифру для поиска ", d
flag = 0
DO WHILE n > 0 AND flag = 0
IF d = n MOD 10 THEN
PRINT "Цифра в числе есть"
flag = 1
ELSE
n = n / 10
END IF
LOOP
IF flag = 0 THEN PRINT "Цифры в числе нет"
END
<em><u>Тестовое решение:</u></em>
Введите число 5374012
Введите цифру для поиска 1
Цифра в числе есть
Первые различающиеся байты переведем в двоичную систему счисления(третий байт):
Найдем наименьшее возможное значение третьего байта. Выпишем в столбик двоичные записи чисел 128 и 137. Добавим еще одну строчку, в которую будем записывать минимально возможное значение третьего байта. Если значения в столбике одинаковые, то ставим соответствующее число, если они различаются, ставим какой-нибудь знак. Я поставил знак '?'.
Теперь перенесем все '?' к последней единице(в нашем случае она и первая):
Так как нам нужно найти
наименьшее возможное значение, заменяем '?' на нули:
Т.к. в маске подсети сначала идут только единицы, а затем нули, то логично, что если третий байт имеет значение 1000 0000, то первый и второй байт имеют значения 11111111.
Следовательно наименьшая маска подсети имеет вид: 11111111.11111111.10000000.00000000
Ответ: 17 единиц.
Финикийский V век
О нет! Что-то пошло не так во время добавления ответа
Слишком коротко.<span> Напишите минимум 20 символов, чтобы объяснить все.</span>
Умница, молодец, неряха, трудяга, лентяй, плакса, сирота, разиня