Сделать блок-схему для кода: var
m, n, i: integer;
sum: real;
function fact(x: integer): real;
begin
if x = 0 then fact := 1
else fact := fact(x - 1) * x;
end;
begin
writeln('Введите границы m и n: ');
readln(m, n);
sum := 0;
for i := m to n do if not odd(i) then
sum := sum + fact(i);
writeln('Сумма факториалов четных чисел от m до n = ', sum);
end.
ответ: сообщение о результатах лотереи "6 из 36" несёт больше информации.
Объяснение:
Используем формулы на мощность алфавита:
Где i - вес символа, а N - мощность алфавита (количество букв в нём).
Узнаем информационный вес символа каждой лотереи:
Первая
Нужно взять минимально возможное целое i, чтобы выражение было равно или больше мощности алфавита.
2⁶ = 64, значит один символ весит 6 бит.
6 × 6 = 36 бит - информационный объём первой лотереи.
Вторая
2⁶ = 64 бита, значит один символ весит 6 бит.
6 × 5 = 30 бит - информационный объём второй лотереи.
type a = array[0..999] of Integer;
var B, num: a; var N, k: integer;
procedure SimpleNumber(B: a);
begin
for var i := 0 to N-1 do begin
for var j := 2 to 9 do begin
if B[i] mod num[j] <> 0 then
k += 1;
end;
if k = 8 then begin
write('Есть простое число');
break;
end
else if (k <> 8) and (i = N-1) then
write('Нет простых чисел');
k := 0;
end;
end;
begin
for var i := 2 to 9 do begin
num[i] := i;
end;
read(N);
for var i := 0 to N-1 do
read(B[i]);
SimpleNumber(B);
end.