#include<stdio.h> void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void permute(int *num, int start, int end) { if (start == end) { for (int i = 0; i <= end; i++) { printf("%d", num[i]); } printf("\n"); } else { for (int i = start; i <= end; i++) { swap(&num[start], &num[i]); permute(num, start + 1, end); swap(&num[start], &num[i]); } } } int main() { int n; scanf("%d", &n); int num[n]; for (int i = 0; i < n; i++) { num[i] = i + 1; } permute(num, 0, n - 1); return 0; } [2024-11-22 00:55:54 | AI写代码神器 | 434点数解答]