解析: 直接写六重循环搜索,时间复杂度为O(n^5),但 n 最大只有13.
1 #include<stdio.h> 2 int main() 3 { 4 int a[15], i, j, k, l, x, y, n; 5 int f = 1; 6 while(scanf("%d", &n) == 1 && n){ 7 for(i = 0; i < n; i++) 8 scanf("%d", &a[i]); 9 for(i = 0; i < n; i++) 10 for(j = i + 1; j < n; j++) 11 if(a[i] > a[j]){ 12 k = a[i]; 13 a[i] = a[j]; 14 a[j] = k; 15 } 16 if(f != 1) 17 printf("\n"); 18 f = 2; 19 for(i = 0; i + 5 < n; i++) 20 for(j = i + 1; j + 4 < n; j++) 21 for(k = j + 1; k + 3 < n; k++) 22 for(l = k + 1; l + 2 < n; l++) 23 for(x = l + 1; x + 1 < n; x++) 24 for(y = x + 1; y < n; y++) 25 printf("%d %d %d %d %d %d\n", a[i], a[j], a[k], a[l], a[x], a[y]); 26 } 27 return 0; 28 }