Перебор размещений n-элементного множества. На с++, питон или паскаль абс

3 Окт 2019 в 06:43
240 +1
0
Ответы
1

олютно точно решается с использованием библиотечных функций или рекурсии. Ниже приведены примеры реализации на трех языках программирования:

На C++:#include <iostream>
#include <algorithm>
int main() {
int n = 3; // размер множества
int k = 2; // размер перестановок
int arr[n] = {1, 2, 3};
do {
for (int i = 0; i < k; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
} while (std::next_permutation(arr, arr + n));
return 0;
}На Python:from itertools import permutations
n = 3
k = 2
arr = [1, 2, 3]
for perm in permutations(arr, k):
print(' '.join(map(str, perm)))На Pascal:program Permutations;
var
arr: array[1..3] of Integer = (1, 2, 3);
i, j: Integer;
begin
repeat
for i := 1 to 2 do
Write(arr[i], ' ');
Writeln;
until not NextPermutation(3, arr);
end.

Это простые примеры реализации перебора размещений n-элементного множества. В каждом из них используется соответствующая библиотечная функция для генерации перестановок.

19 Апр 2024 в 18:40
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир