Инна изготавливает гирлянды из фигурок пяти разных форм. Обозначим эти фигурки a, b, c, d, e.
Сколько различных гирлянд может изготовить Инна, если в каждой гирлянде должно быть шесть фигурок, из которых три одинаковые, а три другие различные (например, abdaea, aaabde, bbcbae, cacbdc...)?
сдохни
Ищу мужа, который будет выплачивать все мои кредиты.
А вот тебе загадка из Швейка. Перхоть ты подзалупная.
Стоит четырехэтажный дом, в каждом этаже по восьми окон, на крыше - два слуховых окна и две трубы, в каждом этаже по два квартиранта. А теперь скажите, господа, в каком году умерла у швейцара его бабушка?
ya uze videl eti posti v chem ih smisl?
var array1:array of char;
SetLength(array1,MaxInteger);
array1[0] = a;
array1[1] = b;
array1[2] = c;
array1[3] = d;
array1[4] = e;
extention function Random from int.pas as Randoooom;
var result_array:array of array string;
SetLength(result_array,MaxInteger);
function chech_for_triple_chars(char1:array of char):boolean;
var is_a:integer;
var is_b:integer;
var is_c:integer;
var is_d:integer;
var is_e:integer;
var a,b:integer;
begin
result:=false;
a:=0;
b:=5;
while a < b do
begin
if result_array[counter][0] = 'a' then is_a:=is_a+1;
if result_array[counter][0] = 'b' then is_b:=is_b+1;
if result_array[counter][0] = 'c' then is_c:=is_c+1;
if result_array[counter][0] = 'd' then is_d:=is_d+1;
if result_array[counter][0] = 'e' then is_e:=is_e+1;
a:=a+1;
end;
if (is_a > 2) or (is_b > 2) or (is_c > 2) or (is_d > 2) or (is_e > 2) then
begin
result:=true;
end;
end;
function awdawdawdawdawdawdawda(result_array):array of string;
var counter,counter2,a,b:integer;
c:boolean;
beign
counter:=0;
while counter < MaxInteger do
begin
result_array[counter][0] = array1[Randoooom(0,4)];
result_array[counter][1] = array1[Randoooom(0,4)];
result_array[counter][2] = array1[Randoooom(0,4)];
result_array[counter][3] = array1[Randoooom(0,4)];
result_array[counter][4] = array1[Randoooom(0,4)];
result_array[counter][5] = array1[Randoooom(0,4)];
//***
if chech_for_triple_chars(result_array[counter]) = true then
begin
counter2:=0;
c:=false;
while counter2 < MaxInteger do
begin
if result_array[counter2] = result_array[counter] then
begin
c:=true;
end;
counter2:=counter2+1;
end;
if c = true then
begin
counter:=counter-1; //*** hitrost croyetsya tut
end;
end;
//***
end;
end;
counter:=counter+1;
end;
end;
//***
//***
//***
awdawdawdawdawdawdawda(result_array);
var array1:array of char;
SetLength(array1,MaxInteger);
array1[0] = a;
array1[1] = b;
array1[2] = c;
array1[3] = d;
array1[4] = e;
extention function Random from int.pas as Randoooom;
var result_array:array of array string;
SetLength(result_array,MaxInteger);
function chech_for_triple_chars(char1:array of char):boolean;
var is_a:integer;
var is_b:integer;
var is_c:integer;
var is_d:integer;
var is_e:integer;
var a,b:integer;
begin
result:=false;
a:=0;
b:=5;
while a < b do
begin
if result_array[counter][0] = 'a' then is_a:=is_a+1;
if result_array[counter][0] = 'b' then is_b:=is_b+1;
if result_array[counter][0] = 'c' then is_c:=is_c+1;
if result_array[counter][0] = 'd' then is_d:=is_d+1;
if result_array[counter][0] = 'e' then is_e:=is_e+1;
a:=a+1;
end;
if (is_a > 2) or (is_b > 2) or (is_c > 2) or (is_d > 2) or (is_e > 2) then
begin
result:=true;
end;
end;
function awdawdawdawdawdawdawda(result_array):array of string;
var counter,counter2,a,b:integer;
c:boolean;
beign
counter:=0;
while counter < MaxInteger do
begin
result_array[counter][0] = array1[Randoooom(0,4)];
result_array[counter][1] = array1[Randoooom(0,4)];
result_array[counter][2] = array1[Randoooom(0,4)];
result_array[counter][3] = array1[Randoooom(0,4)];
result_array[counter][4] = array1[Randoooom(0,4)];
result_array[counter][5] = array1[Randoooom(0,4)];
//***
if chech_for_triple_chars(result_array[counter]) = true then
begin
counter2:=0;
c:=false;
while counter2 < MaxInteger do
begin
if result_array[counter2] = result_array[counter] then
begin
c:=true;
end;
counter2:=counter2+1;
end;
if c = true then
begin
counter:=counter-1; //*** hitrost croyetsya tut
end;
end;
//***
end;
end;
counter:=counter+1;
end;
end;
//***
//***
//***
awdawdawdawdawdawdawda(result_array);
na refactori tam hitroviibonost
var array1:array of char;
SetLength(array1,MaxInteger);
array1[0] = a;
array1[1] = b;
array1[2] = c;
array1[3] = d;
array1[4] = e;
extention function Random from int.pas as Randoooom;
var result_array:array of array string;
SetLength(result_array,MaxInteger);
function chech_for_triple_chars(char1:array of char):boolean;
var is_a:integer;
var is_b:integer;
var is_c:integer;
var is_d:integer;
var is_e:integer;
var a,b:integer;
begin
result:=false;
a:=0;
b:=5;
while a < b do
begin
if result_array[counter][0] = 'a' then is_a:=is_a+1;
if result_array[counter][0] = 'b' then is_b:=is_b+1;
if result_array[counter][0] = 'c' then is_c:=is_c+1;
if result_array[counter][0] = 'd' then is_d:=is_d+1;
if result_array[counter][0] = 'e' then is_e:=is_e+1;
a:=a+1;
end;
if (is_a > 2) or (is_b > 2) or (is_c > 2) or (is_d > 2) or (is_e > 2) then
begin
result:=true;
end;
end;
function awdawdawdawdawdawdawda(result_array):array of string;
var counter,counter2,a,b:integer;
c:boolean;
beign
counter:=0;
while counter < MaxInteger do
begin
result_array[counter][0] = array1[Randoooom(0,4)];
result_array[counter][1] = array1[Randoooom(0,4)];
result_array[counter][2] = array1[Randoooom(0,4)];
result_array[counter][3] = array1[Randoooom(0,4)];
result_array[counter][4] = array1[Randoooom(0,4)];
result_array[counter][5] = array1[Randoooom(0,4)];
//***
if chech_for_triple_chars(result_array[counter]) = true then
begin
counter2:=0;
c:=false;
while counter2 < MaxInteger do
begin
if result_array[counter2] = result_array[counter] then
begin
c:=true;
end;
counter2:=counter2+1;
end;
if c = true then
begin
counter:=counter-1; //*** hitrost croyetsya tut
end;
end;
//***
end;
end;
counter:=counter+1;
end;
end;
//***
//***
//***
awdawdawdawdawdawdawda(result_array);
а ещё код потанцевально забагован из за математической цикличности функции рандум из билиотеки нитегер, поэтому вот тебе задач оптимизирай чтобы избежать бесконечного цикла '_'
Наверное так
1. Сначала вычисляем количество сочетаний 4 из 6, это варианты наполнения гирлянд 4-мя цветами. =15
2. Далее для каждого сочетания имеем еще 4 варианта наборов (1 цвет берется 3 раза)
3. Для каждого набора вычисляем количество размещений из 6 лампочек = 720
4. Итого 720*15*4 = 43200
В арифметики могла наложать
Наверное так
1. Сначала вычисляем количество сочетаний 4 из 6, это варианты наполнения гирлянд 4-мя цветами. =15
2. Далее для каждого сочетания имеем еще 4 варианта наборов (1 цвет берется 3 раза)
3. Для каждого набора вычисляем количество размещений из 6 лампочек = 720
4. Итого 720*15*4 = 43200
В арифметики могла наложать
Решение.
1 Тройку (сочетание) вакансий для одинкковых фигурок (среди шести) выбираем C(6;3)= 20 способами.
2. Число исходов {a,a,a},(b, c, d), т.е. число исходов, при которых в гирлянде есть три фигурки "a" и три другие (различные) фигурки, равно
20*4*3*2= 480.
3. А поскольку вместо а можно взять любую другую фигурку (из пяти), то
Ответ: 480*5=2400.
Решение.
1 Тройку (сочетание) вакансий для одинкковых фигурок (среди шести) выбираем C(6;3)= 20 способами.
2. Число исходов {a,a,a},(b, c, d), т.е. число исходов, при которых в гирлянде есть три фигурки "a" и три другие (различные) фигурки, равно
20*4*3*2= 480.
3. А поскольку вместо а можно взять любую другую фигурку (из пяти), то
Ответ: 480*5=2400.
Похоже я не то считала. Я поняла условие, что наборы aaabcd и bcdaaa это разные гирлянды.