Для определения количества символов алфавита, воспользуюсь формулой Хартли: N — мощность алфавита (количество символов, из которых состоит алфавит) i - количество информации в одном символе алфавита N = 2^i N = 2^10 = 1024 символа
Вычислим остатки от деления обоих чисел на 9, для этого заметив, что у числа 10a + c такой же остаток, что и у a + c. Тогда можно, считывая цифру за цифрой, получить остаток для всего числа. Дальше проверяем, чем равно произведение остатков: если делится на 9, то произведение делится на 9, иначе не делится.
function mod9(f: text): integer; var c: char; rem: integer; begin rem := 0; while not eoln(f) do begin read(f, c); rem := (rem + ord(c) - ord('0')) mod 9; end; readln(f); mod9 := rem; end;
var f: text; a: integer;
begin assign(f, 'input.txt'); reset(f); a := mod9(f) * mod9(f); close(f); assign(f, 'output.txt'); rewrite(f); writeln(f, a); if a mod 9 = 0 then write(f, 'YES') else write(f, 'NO'); close(f); end.
Составьте таблицу истинности для выражения неА*неВ: 3 столбика - А, В, неА*неВ и 32 строки/не обязательно все чертить/. Мы знаем, что 8 строк в А и 8 строк в В - единицы, но их распорядок в таблице мы можем задать сами. Минимальное число единиц = максимально число нулей. Выражение неА*неВ=0, когда А=0 и В=1 ИЛИ А=1 и В=0. Значит, напротив 8 единиц в первом столбце А должны находиться нули в столбце В, а напротив единиц в В должны быть быть нули в столбце А/это лучше нарисовать/. Тогда получается 8 строк, где А=1 и В=0, и 8 строк, где А=0, а В=1. В этих строчках неА*неВ=0. Всего их 16, это максимальное количество нулей. В остальных строчках, где А=0 и В=0, неА*неВ = 1. Таких строк 32-16=16. Минимальное число единиц - 16
1 024
Объяснение:
N = 2^i
N - мощность алфавита (количество символов в алфавите)
i - информационный вес одного символа (число бит, используемых для записи одного символа)
Дано:
i = 10 бит
Найти:
N
N = 2¹⁰ = 1 024 символов