Для начала считаем кол-во цифр в данном сообщении: 7. Значит получается, что максимальное кол-во букв с двойным обозначением (тобиш в и г) тут 3, т.к 4 - уже 8 цифр. Можно рассмотреть все 4 случая: 1) все 7 - буквы буквы с одной цифрой (а и б) - 1 вариант расположения (очевидно) 2) 1 буква - в или г: эту одну букву можно расположить 7-1 = 6 вариантами, то есть еще + 6 3) 2 буквы - в или г. Для выбора местоположения первой из этих букв есть 6 вариантов расположения (как мы уже поняли из 2) ), а для второго остается 7-2= 5 цифр, а значит 4 позиции. Итого 5*4 = 20 и делим это пополам, ибо половина случаев - симметрична (просто меняются местами двойные буквы - а нам без разницы). Получается 20/2= 10 4) 3 буквы - буквы в или г: Рассмотрим от оставшейся одиночной буквы: у нее есть 7 вариантов расположения, вот и все. 1+6+10+7 = 24
Для начала считаем кол-во цифр в данном сообщении: 7. Значит получается, что максимальное кол-во букв с двойным обозначением (тобиш в и г) тут 3, т.к 4 - уже 8 цифр. Можно рассмотреть все 4 случая: 1) все 7 - буквы буквы с одной цифрой (а и б) - 1 вариант расположения (очевидно) 2) 1 буква - в или г: эту одну букву можно расположить 7-1 = 6 вариантами, то есть еще + 6 3) 2 буквы - в или г. Для выбора местоположения первой из этих букв есть 6 вариантов расположения (как мы уже поняли из 2) ), а для второго остается 7-2= 5 цифр, а значит 4 позиции. Итого 5*4 = 20 и делим это пополам, ибо половина случаев - симметрична (просто меняются местами двойные буквы - а нам без разницы). Получается 20/2= 10 4) 3 буквы - буквы в или г: Рассмотрим от оставшейся одиночной буквы: у нее есть 7 вариантов расположения, вот и все. 1+6+10+7 = 24
// PascalABC.Net
var A: array [1..10] of integer;
i, prod: integer;
begin
for i := 1 to 10 do
begin
A[i] := random(0, 140);
write(A[i], ' ');
end;
writeln();
prod := 1;
for i := 1 to 10 do
if (A[i] mod 3 = 0) or (A[i] mod 4 = 0) then
prod := prod * A[i];
writeln(prod);
end.