8 бит т.киз 32 равновероятных событий нужно выбрать одно. Поэтому N = 32, следовательно, 1= 4 (32= 8). Пояснение: события равновероятны, т.к. всех цветов в коробке присутствует по одному.
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;
Var l:char;i,n,a,k,m,d,q:integer;s:string; label z; begin randomize; writeln ('Введите количество паролей'); writeln ('Из чего состоят пароли?'); z:writeln ('1 - буквы 2 - цифры 3 - и буквы и цифры'); readln (a); if (a<>1)and (a<>2)and (a<>3)then begin writeln ('Неправильный ввод. Ввести заново (0 - да / 1 - нет)?'); read (q); if q=0 then goto z else halt; end else begin writeln ('Введите количество паролей: '); readln (n); writeln ('Введите длину пароля: '); readln (k); writeln ('Пароли:'); if a=1 then begin for i:=1 to n do begin for d := 1 to k do s:=s+chr(random(26)+97); writeln(s); s:=''; end; end; if a=2 then begin for i:=1 to n do begin for d := 1 to k do s := s + chr(random(10)+48); writeln(s); s:=''; end; end; if a=3 then begin for i:=1 to n do begin for d := 1 to k do s := s + chr(random(26)+97)+chr(random(10)+48); delete(s,k,k); writeln(s); s:=''; end; end; end; end.