а)
def sum(x):
x_str = str(x)
first = x_str[0]
second = x_str[1]
third = x_str[2]
sum = int(first) + int(second) + int(third)
return sum % 2 == 0
б)
def triangle(a, b, c):
return a != b and b != c
Объяснение:
Написал две функции на Python. Первая принимает переменную x - по условию это трехзначное числ, так что я не стал прописывать код для проверки. Вторая функция ещё проще, просто сравнивает три переменных между собой. Первую функцию можно сильно сократить, если не переврдить отдельные цифры в переменные, а вставить их непосредственно в return. При отправке сюда смещение не сохранилось, расставить его не составит труда. Попробую добавить ссылку на пэйстбин, надеюсь не забанят https://pastebin.com/4qTF1jCm
Все просто.
Если код равномерный двоичный, а мощность алфавита 26 символов, нужно подобрать такое количество бит (двоичных разрядов), чтобы оно могло вместить 26 комбинаций.
1 бит - 2 комбинации (2¹ = 2)
2 бита - 4 комбинации (2² = 4)
3 бита - 8 комбинаций (2³ = 8)
4 бита - 16 комбинаций (2⁴ = 16)
5 бит - 32 комбинации (2⁵ = 32)
Видно, что 4 бита мало, а 5 бит кодируют даже не 26, а 32 комбинации. Следовательно, под код одного символа нужо 5 бит.
А если символов 20, то в 20 раз больше. 5×20 = 100 бит. Это и есть нужная нам длина.
uses crt;
var a,s,f,i:integer;
f1,s1:string;
r,g:text;
begin
assign (r,'C:\Ain.txt');
reset (r);
readln (r,a);
close (r);
f:=1;
for i:=2 to a do
f:=f*i;
str(f,f1);
for i:=1 to length(f1) do
begin
s1:=copy(f1,1,1);
if s1<>'0' then
delete(f1,1,1);
end;
for i:=1 to length(f1) do
begin
s1:=copy(f1,1,1);
if s1='0' then
s:=s+1;
end;
assign (g,'C:\Aout.txt');
rewrite (g);
writeln (g,s);
close(g);
end.