Var i,j,k:longint; begin for i:=1 to 1000 do for j:=1 to 1000 do for k:=1 to 10000 do if sqr(i)+sqr(j)=sqr(K)then begin writeln(i,' ',j,' ',k); {вывожу все тройки, можно убрать} if i+j+k=1000 then begin writeln('! ',i,' ',j,' ',k); {нужная тройка} exit; {прерывание программы} end; end; end.
255 в двоичной системе сч = 11111111, т.е при умножении на него поразрядно сохраняется то число, которое умножаем на 255. Это значит, что первые две тройки чисел останутся прежними 130.132. Последнее число в маске это 0. В двоичной с.с 00000000. При умножении на 0 будет ноль. Это значит, что последняя цифра 0. Т.е. получим 130.132. .0 Остается выяснить середину. 131 - 10000011 192 - 11000000 Тогда поразрядное умножение нам дает 10000000, При переводе в десятичную с.с 2^7=128 Получили новый адрес 130.132.128.0 Сопоставим с буквами EBAF
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку