枚举排列
枚舉排列題解
問題是將n個數(shù)排列出所有的結(jié)果,自然用到枚舉法將個個可能的結(jié)果排除,中間需要判斷,巧用ok的值。
1 #include<stdio.h> 2 int a[300]; 3 int n; 4 void paixu(int cur) 5 { 6 int i,t,ok; 7 if(cur==n+1) 8 { 9 for(i=1; i<=n; i++) 10 printf("%d ",a[i]); 11 printf("\n"); 12 } 13 else 14 { 15 for(i=1; i<=n; i++) 16 { 17 ok=1; 18 for(t=1; t<cur; t++) 19 if(a[t]==i) 20 { 21 ok=0; 22 break; 23 } 24 if(ok) 25 { 26 a[cur]=i; 27 paixu(cur+1); 28 } 29 } 30 } 31 } 32 int main() 33 { 34 int i,g; 35 scanf("%d",&n); 36 paixu(1); 37 return 0; 38 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/dongq/p/4151754.html
總結(jié)
- 上一篇: 王源的个性签名霸气
- 下一篇: 烟花换辰星会有人要吗?