Решить первую задачу можно по этому примеру, просто поменяв цифры на свои ..
Решение:
Решаем задачу по формуле N = 2i
N- мощность алфавита
i - вес одного символа (в битах)
Первый текст:
N = 16, следовательно i = 4 (16 = 24)
Второй текст:
N = 256, следовательно i = 8 (256 = 28)
Теперь нам нужно понять во сколько раз кол-во информации во втором тексте больше, чем в первом.. Это очень просто. Если в первом текст 4 бита на символ, а во втором - 8 бит на символ, также из условия известно, что количество символов одинаковое и в первом и во втором текстах. Делим 8 на 4 и получаем, что во втором тексте количество информации больше в 2 раза...
Ответ: в 2 раза
ответ получится такой же
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(10,-50,50); a.Println;
var p:integer:=0;
for var i:=0 to 9 do
if a[i]=0 then begin p:=i+1; break end;
if p>0 then Writeln('Номер первого нулевого элемента ',p)
else Writeln('В массиве нет нулевых элементов')
end.
<u>Пример</u>
30 22 29 -47 11 39 13 0 46 22
Номер первого нулевого элемента 8
Учитывая, что в условии не обозначены границы N, придется воспользоваться возможностями PascalABC.Net
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
begin
var f: BigInteger := 1;
var s: BigInteger := 0;
var n := ReadInteger;
for var i := 1 to n do
begin
f:=1;
for var j := 1 to i do f *= j;
s := s + f;
end;
println('Сумма факториалов ', s);
end.
Тестовое решение
n=100
Сумма факториалов 94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940313
Программа выводит s=402
Описание программы :
Объявление целых переменных s,k
Присвоение нач. значения s=500
Цикл по k от 4 до 10
В цикле из текущего значения s вычитается удвоееное значение k и присваивается s
Вывод s