Решить с паскаль №3.определить, является ли слово "перевертышем", №4.печать всех делителей натурального числа a, №5.печать всех совершенных чисел до 10000.
в кинозале всего 16×32=512 мест. Сообщение о купленном билете однозначно определяет выбор одного из этих мест. Из уравнения 2 i = 512=29получаем: i=9 бит. Но эту же задачу можно решать иначе. Сообщение о номере ряда несет 4 бита информации, т.к. 24=16. Сообщение о номере места несет 5 бит информации, т.к. 25=32. В целом сообщение про ряд и место несет: 4+5=9 бит информации. Данный пример иллюстрирует выполнение закона активности информации (правило сложения): количество информации в сообщении одновременно о нескольких результатах независимых друг от друга событий равно сумме количеств информации о каждом событии отдельно.
Каждый из возможных символов должен использовать минимально возможное количество БИТ, следовательно : 25 букв + 10 цифр = 35 символов. Для их хранения требуется узнать минимальное количество бит, (Степень цифры 2), поэтому: ( так как 2^5 < 35 < 2^6) получается, что использовать менее 6 бит нельзя. Таким образом, при 6 битах на символ, номер, содержащий 7 символов определяется: 7 * 6 = 42 бита. Так как номер записывается минимально возможным количеством БАЙТ, то объём его в БИТАХ должен быть кратен 8 и в случае необходимости округляться в большую сторону. Ближайшее число кратное 8 - это 48. 48 / 8 = 6 байт. 6 БАЙТ занимает 1 номер. Таким образом, 6 * 80 = 480 байт.
//Версия 3.3, сборка 1634 (14.02.2018)
1)
begin
var a:=ReadString('Введите слово->').ToLower;
Println(a=ReverseString(a)?'Перевертыш':'Не перевертыш');
end.
Пример(1):
Введите слово-> Комок
Перевертыш
Пример(2):
Введите слово-> Револьвер
Не перевертыш
2)
begin
var a:=ReadInteger('Число-> ');
Range(1,a).Where(t->a mod t=0).Println;
end.
Пример:
Число-> 100
1 2 4 5 10 20 25 50 100
3)
begin
for var i:=2 to 10000 do
begin
var a:=Range(1,i-1).Where(t->i mod t=0).Sum;
if a=i then Write(i,' ');
end;
end.
ответ:
6 28 496 8128