Сколько информации в слове? На территории Исландии археологи нашли камень, установленный одним
викингом в память о своём друге. Надпись была сделана руническим
письмом и содержала слово félаgi («друг»). Сколько битов потребуется для
кодирования этой надписи, если алфавит викингов состоит из 16 рун?
Считайте, что каждая руна закодирована одинаковым Минимально
возможным количеством битов.
1) Найдём количество информации, которое несёт одна руна:
2) Найдём количество битов, необходимое для кодирования всего слова:
ответ:
бит.
умоляю,скорее ,
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.
2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.
3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.
4. В функции ODD происходит обработка глобального массива C, что делать нельзя.
5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.
Исправьте, и может быть (если ошибок больше нет) программа заработает.
1. Создадим массив для хранения информации о количестве встретившихся цифр во введенном числе.
2. Ввод самого числа, далее в цикле находим остаток от деления на 10 и увеличиваем значение элемента массива с индексом равным получившемуся остатку на 1. Делим число нацело на десять. Повторяем пока число не равно 0.
3. Выводим результат. В массиве индекс элемента указывает на цифру числа, а значение элемента на количество этой цифры в числе.
//РасаlABC.net v3.1
var a:array[0..9]of integer;
n,i,m: integer;
begin
readln(n);
repeat
m:=n mod 10;
inc(a[m]);
n:=n div 10;
until n<=0;
for i := 0 to 9 do begin
if a[i]>1 then writeln('Цифра:',i,' количество:', a[i]);
end;
end.
Тестовый прогон:
1112333
Цифра:1 количество:3
Цифра:3 количество:3