Число сочетаний из n элементов по k - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

По данным натуральным n и k вычислите значение число сочетаний из n элементов по k. Входные данные Вводятся 2 числа - n и k (n,k<=30 ).

Решение задачи: «Число сочетаний из n элементов по k»

textual
Листинг программы
var n,k,i:integer;
   c:real;
begin
readln(n,k);
if n<k then //это не обязательно,система наверное выдает корректные значения k<=n
 begin
  i:=n;
  n:=k;
  k:=i;
 end;
c:=1;
for i:=1 to k do
c:=c*(n-i+1)/i;
writeln(c:0:0);
end.

Объяснение кода листинга программы

Этот код написан на языке Pascal ABC и выполняет следующие действия:

  1. В начале кода объявляются переменные n, k и i типа integer, а также переменная c типа real.
  2. Затем происходит чтение значений переменных n и k с помощью функции readln.
  3. Если значение переменной n меньше значения переменной k, то выполняется блок begin...end. Это необходимо для корректной работы алгоритма, так как в противном случае может возникнуть деление на ноль.
  4. Внутри блока begin...end переменная i устанавливается равной n, затем переменная n устанавливается равной k, а переменная k устанавливается равной i. Это необходимо для обмена значениями переменных в соответствии с правилами вычисления чисел сочетаний.
  5. Затем переменная c инициализируется единицей.
  6. Далее идет цикл for, который выполняется от 1 до k. Внутри цикла переменная c умножается на (n-i+1)/i и сохраняется в переменной c. Это вычисление соответствует правилу для чисел сочетаний.
  7. После завершения цикла выводится значение переменной c с помощью функции writeln.
  8. Код заканчивается точкой end.

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы