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 пункт является результатом последовательно выполненных действий)
Поделитесь своими знаниями, ответьте на вопрос:
Найти все трехзначные числа, квадраты которых оканчивается тремя одинаковыми числами отличными от нуля. на паскале числа должны выводиться сразу в квадрате, а не (100, 200, 300, 400)
Программа:
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