Задание: 1. Перевести в двоичную, шестнадцатеричную и восьмеричную системы счисления десятеричные числа: 1)42;31;113 5)46;35;119 9) 49;30;103 13)29;37;97 2)45;81;89 6)66;25;110 10)19;53;101 14)21;87;98 3)12;38;118 7)17;63;96 11)34;50;107 15)28;45;130 4)11;43;67 8)13;69;88 12)14;70;99 16)15;72;100 2. Перевести в двоичную систему счисления шестнадцатеричные числа: 1)A45;12;56B 5)7C;72EB;31DB 9)34A;6AB;9AD 13)2B9;6F1;81B 2)1EF3;5AB;46F 6)3EB;4D8;A61 10)5AB;79F;AB8 14)7CD;2A1;B53 3)A56;5E9;CDE 7)6A3;9D0;8BE 11)9A;4DE;EF7 15)10B;87F;CD9 4)3B8;DE1;BAE 8)BC;7F9;78A 12)AB;8E4;C17 16)38E;9C7;B89 3. Перевести в восьмеричную и шестнадцатеричную системы счисления бинарные числа: 1) 00101011; 00100110; 01110011 5) 11110010; 01101010; 11111100; 9) 10000101; 11100010; 11001011 13) 00011101; 11111001; 00111101 2) 01100001; 01101110; 11110011 6) 00110110; 00111011; 10001100 10) 00011101; 01010110; 10110010 14) 00011100; 01001100; 01101110 3) 11100100; 01011100; 11000001 7) 11010010; 01001100; 11000111 11) 11100010; 10100001; 10001110 15) 10101001; 11010101; 111001100 4) 00001111; 10100101; 10010001 8) 11100000 11111000; 01000011 12) 10100101; 01101100; 11100001 16) 11100111; 01100101; 10110010; 4. Представить в дополнительном коде следующие числа: 1)-42;-31;-96 5)-46;-35;-94 9) -49;-30;-103 13)-29;-37;-97 2)-52;-41;-93 6)-66;-25;-85 10)-19;-53;-101 14)-21;-87;-98 3)-12;-38;-93 7)-17;-63;-99 11)-34;-50;-94 15)-28;-45;-95 4)-11;-43;-67 8)-13;-69;-88 12)-14;-70;-99 16)-15;-72;-89
дешифровки:
Const sh = '_.,';
Var
St : String;
i : Integer;
Function DeCode(S : String; Tabl : String; k : Integer) : String;
Var j,n : Integer;
Begin
For j:=1 to Length(S) do
Begin
n:=Pos(S[j],sh);
If n>0 then
Begin
n:=n+k;
While n>Length(sh) do n:=n-Length(sh);
While n<=0 do n:=n+Length(sh);
S[j]:=sh[n];
end
end;
DeCode:=S;
end;
Begin
St:='ЗЫФЙГФШРЦ . ШД';
Writeln(Decode(St,sh,-6));
//For i:=-10 to 10 do Writeln(Decode(St,sh,i));
end.
Я руками за 5 дней делаю 5 коробок, и на 6-ой день покупаю духовку.
Руками и духовкой я делаю 2 коробки в день, за 5 дней - 10 коробок.
На 6-ой день я покупаю вторую духовку.
Руками и 2-мя духовками я за 5 дней делаю 15 коробок, и на 6-ой день покупаю 3-ью духовку.
И так далее. Чтобы купить очередную духовку, я работаю 5 дней, а на 6-ой день ее покупаю, и у меня печенья не остается совсем.
То есть, после покупки каждой духовки я начинаю всё с нуля.
Главное - понять, когда нужно остановиться покупать духовки и начать уже копить печенье на складе.
Итак, подведем итоги:
1) На покупку каждой духовки мы тратим 6 суток и начинаем с нуля.
2) Имея n духовок, мы делаем 584 коробок печенья за
trunc(584/(n+1)) + 1 дней, где trunc(x) = [x] - это целая часть x.
3) Всего мы тратим времени T(n) = 6n + trunc(584/(n+1)) + 1 --> min
Минимум функции trunc(584/(n+1)) совпадает с минимумом 584/(n+1)
T(n) = 6n + 584/(n+1) + 1 --> min
T'(n) = 6 - 584/(n+1)^2 = (6(n+1)^2 - 584) / (n+1)^2 = 0
6(n+1)^2 - 584 = 0
(n+1)^2 = 584/6 = 97,33
n + 1 = √97,33 ~ 9,86 = 10
n = 9
Значит, нужно ограничиться покупкой 9 духовок.
За 6*9 = 54 дня мы их купим, и за 584/10 ~ 59 дней мы соберем нужное количество коробок на складе.
Всего мы истратим 54 + 59 = 113 дней.