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