Зайди на своём пк в power point
Const n=20; p=50;
var a:array[1..n+1] of integer;
i:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
write(a[i]:4);
end;
writeln;
a[n+1]:=p;
i:=1;
while a[i]<>p do i:=i+1;
if i<n+1 then writeln('Значение = ',p,' - это ',i,' элемент массива')
else writeln('Значения ',p,' в массиве нет');
end.
Пример:
<span> 76 27 15 97 12 14 72 50 51 8 40 47 38 28 30 47 31 4 94 3
Значение = 50 - это 8 элемент массива</span>
Первые различающиеся байты переведем в двоичную систему счисления(третий байт):
Найдем наименьшее возможное значение третьего байта. Выпишем в столбик двоичные записи чисел 128 и 137. Добавим еще одну строчку, в которую будем записывать минимально возможное значение третьего байта. Если значения в столбике одинаковые, то ставим соответствующее число, если они различаются, ставим какой-нибудь знак. Я поставил знак '?'.
Теперь перенесем все '?' к последней единице(в нашем случае она и первая):
Так как нам нужно найти
наименьшее возможное значение, заменяем '?' на нули:
Т.к. в маске подсети сначала идут только единицы, а затем нули, то логично, что если третий байт имеет значение 1000 0000, то первый и второй байт имеют значения 11111111.
Следовательно наименьшая маска подсети имеет вид: 11111111.11111111.10000000.00000000
Ответ: 17 единиц.
В ответе я использовал CTIME библиотеку, если возникают вопросы почему именно её, то по нескольким причинам:
- Самое высокая скорость работы по сравнению с C++ библиотеками, а её функционал полнойстью покрывает нужды.
- В данном случаи используются достаточно прозрачные с точки зрения нейминга функции. Код будет хорошо читабилен.
К слову об указателе в функции getSecondsSinceUTCMidnight, не нужно беспокоиться об управлении памятью в данном случаи, за тебя это сделает функционал библиотеки.
Спасибо за отметку лучший ответ.
Ответ:
program tt;
uses wincrt;
var
chislo,a,b,c:integer;
begin
ClrScr;
writeln('Введите число:');
readln(chislo);
a:=chislo div 100;
b:=(chislo mod 100) div 10;
c:=chislo mod 10;
if (a=b) or (a=c) or(b=c) then
writeln('Есть!')
else
writeln('Нет!');
readln;
end.
Объяснение: