все возможные варианты это, как я понимаю, с учетом повторений(т.е. используем все 7 красных и 8 белых роз).
для начала вспоним формулу, а потом на ее основе пишем программу:
где n - количество всех цветов, n=15;
k - количество цветов в букете, k=5
теперь собственно программа:
uses crt; {подключение модуля crt}var f1,f2,f3,i: longint; c: real; {описание переменных}beginf1: =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, поэтому ввела значение вручную, но тем не менее формулу в программу включила, вдруг понадобится.
Case6. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
program Case6;
var
N:Integer;
L:Real;
begin
Write('Введите номер единицы длинны: ');
Readln(N);
Write('Введите длинну отрезка: ');
Readln(L);
Case N of
1: Writeln(L/10);
2: Writeln(L*1000);
3: Writeln(L);
4: Writeln(L/1000);
5: Writeln(L/100);
end;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program Case6;
var
N:Integer;
L:Real;
begin
Write('Введите номер единицы длинны: ');
Readln(N);
Write('Введите длинну отрезка: ');
Readln(L);
Case N of
1: Writeln(L/10);
2: Writeln(L*1000);
3: Writeln(L);
4: Writeln(L/1000);
5: Writeln(L/100);
end;
end.
Case6. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
program Case6;
var
N:Integer;
L:Real;
begin
Write('Введите номер единицы длинны: ');
Readln(N);
Write('Введите длинну отрезка: ');
Readln(L);
Case N of
1: Writeln(L/10);
2: Writeln(L*1000);
3: Writeln(L);
4: Writeln(L/1000);
5: Writeln(L/100);
end;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program Case6;
var
N:Integer;
L:Real;
begin
Write('Введите номер единицы длинны: ');
Readln(N);
Write('Введите длинну отрезка: ');
Readln(L);
Case N of
1: Writeln(L/10);
2: Writeln(L*1000);
3: Writeln(L);
4: Writeln(L/1000);
5: Writeln(L/100);
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
здесь не нужно учитывать порядок роз в букете, а только их количество.
program krysatul; uses crt; const bel=8; kras=7; var i,j,nom: integer; begin writeln('*** alphaues is ***'); 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.