Все возможные варианты это, как я понимаю, с учетом повторений(т.е. используем все 7 красных и 8 белых роз).
Для начала вспоним формулу, а потом на ее основе пишем программу:
Где n - количество всех цветов, n=15;
k - количество цветов в букете, k=5
Теперь собственно программа:
uses crt; {подключение модуля CRT}
var f1,f2,f3,i:longint; c:real; {описание переменных}
begin
f1:=1; f2:=1; f3:=1; {присваивание значений}
for i:=2 to 15 do {цикл}
f1:=f1*i;
for i:=2 to 8 do {цикл}
f2:=f2*i;
for i:=2 to 5 do {цикл}
f3:=f3*i;
c:=1307674368000/(f2*f3); {вычисление и присваивание значения}
write(c); {вывод текста на экран}
end.
p.s. получается 270270, поэтому перечислять все варианты не вижу смысла.
И программа не вычисляет факториал 15, поэтому ввела значение вручную, но тем не менее формулу в программу включила, вдруг понадобится.
Поделитесь своими знаниями, ответьте на вопрос:
Системы оптического распознавания документов
Можно обойтись без массива и этим сэкономить память компьютера.
Можно также вывести такую матрицу (в виде песочных часов) любого размера. Для этого нужно только изменить значение n в строке
const n=5
Program Pentelemon;
uses crt;
const n=5;
var
i,j:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
for i:=1 to n do
begin
for j:=1 to n do
begin
if ((j>=i) and (i+j<=n+1)) or ((j<=i) and (i+j>=n+1)) then
write ('1 ')
else
write ('0 ');
end;
writeln();
end;
end.