2 задача
Количество символов используемых для кодирования номера составляет:
30 букв + 10 цифр = 40 символов. Количество информации несущий один символ равен 6 бит (2^I=40, но количество информации не может быть дробным числом, поэтому берем ближайшую степень двойки большую количества символов 2^6=64).
Мы нашли количество информации заложенное в каждом символе, количество символов в номере равно 7, следовательно 7*6=42 бит
Каждый номер равен 42 битам информации, но по условию задачи каждый номер кодируется одинаковым и минимально возможным количеством байт, следовательно нам необходимо узнать сколько байт в 42 битах. Если разделить 42 на 8 получится дробное число, а нам необходимо найти целое количество байт на каждый номер, поэтому находим ближайший множитель 8-ки который превысит количество бит, это 6 (8*6=48). Каждый номер кодируется 6 байтами.
Для хранения 50 автомобильных номеров потребуется: 6*50=300 байт
Данная задача является алгоритмом. Мы должны выстроить последовательность действий так,чтобы не остаться в проигрыше.
Цель: перевезти животных и капусту,так,чтобы никто из них не наведил друг другу. Перевозчик-это исполнитель(объект выполняющий действие)
1)Взять козу,переплыть,высадить.
2)Переплыть, взять волка,переплыть,высадить,взять козу,переплыть высадить.
3) Взять капусту, переплыть, высадить.
4)Переплыть,взять козу, переплыть,высадить.
5) Конец алгоритма(4 пункт является результатом последовательно выполненных действий)
Программа:
var i,a,a1,a2,a3: integer;
begin
for i:=101 to 999 do
begin
a:=i*i;
a1:=a mod 1000 div 100;
a2:=a mod 100 div 10;
a3:=a mod 10;
if (a1=a2)and(a2=a3)and(a1<>0) then writeln(i,' ',a);
end;
end.
Результат:
462 213444
538 289444
962 925444