олютно точно решается с использованием библиотечных функций или рекурсии. Ниже приведены примеры реализации на трех языках программирования:
На 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-элементного множества. В каждом из них используется соответствующая библиотечная функция для генерации перестановок.
олютно точно решается с использованием библиотечных функций или рекурсии. Ниже приведены примеры реализации на трех языках программирования:
На 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-элементного множества. В каждом из них используется соответствующая библиотечная функция для генерации перестановок.