Каждые 8 разрядов данного адреса нужно перевести в десятичную систему счисления:
<span>11001100(2) = 204(10)
10011000(2) = 152(10)
10111110(2) = 190(10)
01000111(2) = 71(10)
204.152.190.71</span>
Небольшое наблюдение: если Денис может использовать ровно M лопастей, то он может использовать их так, чтобы четырёхлопастных спиннеров было не больше двух. (Если их три или больше, то каждые три четырёхлопастных спиннера можно поменять на 4 трёхлопастных).
Код (C++)
#include <iostream>
int main() {
long long M;
std::cin >> M;
for (int f = 0; f < 3 && f * 4 <= M; f++) {
if ((M - f * 4) % 3 == 0) {
std::cout << (M - f * 4) / 3 << " " << f;
return 0;
}
}
std::cout << "0 0";
return 0;
}
N=8, m=0 - это значит, что числа должны быть 8-битными.
Чтобы перевести число в доп.код, нужно взять инверсию и прибавить 1.
A = -44 = -(00101100) = 11010011 + 1 = 11010100
B = -6 = -(00000110) = 11111001 + 1 = 11111010
Складываем
A + B = 11010100 + 11111010 = 11001110
Для проверки в 10 коде переводим опять из доп.кода.
-(11001110) = 00110001 + 1 = 00110010 = -(32 + 16 + 2) = -50
-44 + (-6) = -50
Все правильно.
Var
hay:longint; { количество стогов сена }
eaten:longint; { количество съеденных стогов }
procedure Eat(var n:longint);
{ съесть 4 стога }
begin n:=n-4; eaten:=eaten+4 end;
procedure Sheep(n:longint);
{ овечка, которой передано n стогов сена }
begin
if n>=4 then begin
if (n mod 5)=0 then begin
n:=n div 5;
Sheep(n);
Sheep(3*n)
end
else begin
Eat(n);
Sheep(n)
end
end
end;
begin
Readln(hay);
eaten:=0;
Sheep(hay);
Writeln(eaten)
end.
<em><u>Тестовое решение:</u></em>
29
8
1) что можно сделать с выделенным объектом в данный момент