Программа на паскале: var a,m,k:integer; begin write('a = '); readln(a); write('m = '); readln(m); k:=0; if a div 1000 = m then k:=k+1; if a div 100 mod 10 = m then k:=k+1; if a mod 100 div 10 = m then k:=k+1; if a mod 10 = m then k:=k+1; writeln('k = ',k); end.
Type piece = record value: string[10]; count := 1; end;
var pieces: array[1..200]of piece; i, j, n, pieces_n: integer; s, p: string; found: boolean; imax:=1;
begin read(s); read(n); for i := 1 to length(s) - n + 1 do begin p := Copy(s, i, n); found := false; for j := 1 to pieces_n do if pieces[j].value = p then begin pieces[j].count := pieces[j].count + 1; found := true; if pieces[imax].count < pieces[j].count then imax := j; break; end; if not found then begin pieces_n := pieces_n + 1; pieces[pieces_n].value := p; end; end;
1) ( (x ∈ P) /\ (x ∈ А)) → ( (x ∈ Q) /\ (x ∈ А)) = 1 -( (x ∈ P) /\ (x ∈ А)) \/ ( (x ∈ Q) /\ (x ∈ А)) = 1 (убрали стрелочку) -(x ∈ P) \/ -(x ∈ А) \/ ((x ∈ Q) /\ (x ∈ А)) = 1 (правило де Моргана) -(x ∈ P) \/ (-(x ∈ А) \/ (x ∈ Q)) /\ (-(x ∈ А) \/ (x ∈ А)) = 1 -(x ∈ P) \/ -(x ∈ А) \/ (x ∈ Q) = 1 x ∈ (-P U Q U -A) = 1 т.е. -P U Q U -A = (-infinity; +infinity) -P U Q = (-infinity; 39) U (58; +infinity) нужно чтоб -А покрыло оставшийся кусок [39; 58] т.е. А не должно содержать [39; 58] из предложенных это 1) [5, 20]
2) Алфавит из 18 символов, log(18)/log(2) = 4.16992500144231 {округляем до целого} ~= 5 бит на символ Вес номера байт = 5бит * 6 / 8 = 3.75 байт {округляем до целого} ~= 4 байт 400 * 4 байт = 1600 байт
3) Комбинаторика - Размещение с повторениями n - кол-во элементов в наборе (у нас 4) k - кол-во мест (у нас 5 и 6) Количество размещений с повторениями = `A(k,n) = n^k `A(5, 4) + `A(6, 4) = 4^5 + 4^6 = 5 120
var a,m,k:integer;
begin
write('a = ');
readln(a);
write('m = ');
readln(m);
k:=0;
if a div 1000 = m then k:=k+1;
if a div 100 mod 10 = m then k:=k+1;
if a mod 100 div 10 = m then k:=k+1;
if a mod 10 = m then k:=k+1;
writeln('k = ',k);
end.
Пример:
a = 7537
m = 7
k = 2