Помогите решить.Паскаль Циклы .Из семи красных и восьми белых роз требуется составить букет из пяти роз. Перечислить все возможные варианты.Хотелось бы попросить при составление каждой строчки расписывать что в ней происходит.

Помогите решить.Паскаль Циклы .Из семи красных и восьми белых роз требуется составить букет из пяти роз. Перечислить все возможные варианты.Хотелось бы попросить при составление каждой строчки расписывать что в ней происходит.
Гость
Ответ(ы) на вопрос:
Гость
Все возможные варианты это, как я понимаю, с учетом повторений(т.е. используем все 7 красных и 8 белых роз). Для начала вспоним формулу, а потом на ее основе пишем программу: [latex]C_{n}^{k}=\frac{n!}{(n-k)!k!}[/latex]   Где n - количество всех цветов, n=15; k - количество цветов в букете, k=5   [latex]C_{15}^{5}=\frac{15!}{8!5!}[/latex]   Теперь собственно программа:   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, поэтому ввела значение вручную, но тем не менее формулу в программу включила, вдруг понадобится.
Гость
Здесь не нужно учитывать порядок роз в букете, а только их количество.   Program Krysatul; uses crt; const   bel=8;   kras=7; var  i,j,nom:integer; begin   writeln('*** alphaues is thinking... ***');   writeln('***          OK             ***');   writeln();   nom:=0; {количество вариантов}   for i:=0 to bel do {организуем цикл перебора для белых роз}     for j:=0 to kras do {организуем цикл перебора для красных роз}        if i+j=5 then {если выбрано в сумме 5 цветов}             begin               nom:=nom+1; {посчитать это как +1 вариант}               writeln(nom,'-й вариант: ',i,' белых и ',j,' красных'); {напечатаем номер варианта и количество роз}             end;     writeln();     writeln('Всего вариантов: ',nom);{напечатаем количество вариантов} end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы