Алфавит у нас состоит из трех букв (Б,У,М). Длина ряда 4 буквы. Количество возможных слов вычисляется по формуле N^m(н в степени м), где N - это длина алфавита, а m - длина ряда. Получаем 3^4=81. Дальше нужно исключить случаи, когда Есть три идущие буквы подряд, рассмотрим все случаи. 1.Когда все буквы в слове одинаковые (, , ); 2.Когда есть три буквы одинаковые (БББУ,УБББ,БББМ,МБББ, БУУУ,УУУБ,МУУУ,УУУМ,МММБ,БМММ,УМММ,МММУ.). Тобишь всего исключений 12+3=15. Вычитаем из количества всех вариантов 81-15=66. ответ:66 различных слов.
Очень много ошибок. Уже в 1 строке программы 2 ошибки: три точки вместо двух и отсутствует точка с запятой в конце строки. Ну и так далее. Рабочий код из вашего может быть таким:
var A: array [1..5] of integer; g, j, k, l: byte; begin randomize; for j := 1 to 5 do begin A[j] := random(9); writeln(A[j]); end;
for j := 1 to 5-1 do begin for g := j+1 to 5 do begin if A[j] > A[g] then begin K := A[j]; A[j] := A[g]; A[g] := K; end; end; end; for j := 1 to 5 do write(A[j]); end.
1.Когда все буквы в слове одинаковые (, , );
2.Когда есть три буквы одинаковые (БББУ,УБББ,БББМ,МБББ, БУУУ,УУУБ,МУУУ,УУУМ,МММБ,БМММ,УМММ,МММУ.).
Тобишь всего исключений 12+3=15.
Вычитаем из количества всех вариантов 81-15=66.
ответ:66 различных слов.
Рабочий код из вашего может быть таким:
var
A: array [1..5] of integer;
g, j, k, l: byte;
begin
randomize;
for j := 1 to 5 do
begin
A[j] := random(9);
writeln(A[j]);
end;
for j := 1 to 5-1 do
begin
for g := j+1 to 5 do
begin
if A[j] > A[g] then begin
K := A[j];
A[j] := A[g];
A[g] := K;
end;
end;
end;
for j := 1 to 5 do
write(A[j]);
end.