酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。 输入格式: 输入给出正整数n(<10)。 输出格式: 输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序,即序列a 1​,a 2​,⋯,a n​排在序列b 1​,b 2​,⋯,b n​之前,如果存在k使得a 1​=b 1​,⋯,a k​=b k​并且 a k+1​<b k+1​。 用c语言 ```c

#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点数解答]

相关提问