zoukankan      html  css  js  c++  java
  • 枚举排列

    枚举排列题解
    问题是将n个数排列出所有的结果,自然用到枚举法将个个可能的结果排除,中间需要判断,巧用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("
    ");
    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 }
  • 相关阅读:
    File
    多态
    方法重载
    Math
    instanceof
    强制类型转换
    泛型
    springboot热部署
    iOS bug处理
    iOS8-xcode6中添加pch全局引用文件
  • 原文地址:https://www.cnblogs.com/dongq/p/4151754.html
Copyright © 2011-2022 走看看