⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queen.c

📁 数值分析算法描述与习题解答
💻 C
字号:

    #include "stdio.h"
    #include "math.h"
    #include "stdlib.h"
    void  queen(int n)
    { int  i,j,k,jt,*q;
      q=malloc(n*sizeof(int));
      for(i=0; i<n; i++)  q[i]=0;
      i=0; jt=1;
      printf("\n");
      printf("%d queen problem\n",n);
      while(jt==1)
        { if (q[i]<n)
            { k=0;
              while((k<i)&&((q[k]-q[i])*
                    (fabs(q[k]-q[i])-fabs(k-i)))!=0)  k=k+1;
              if (k<i)  q[i]=q[i]+1;
              else
                { if (i==n-1)
                    { for(j=0; j<n; j++)
                         printf("%5d",q[j]+1);
                      printf("\n");
                      q[n-1]=q[n-1]+1;
                    }
                  else  i=i+1;
                }
            }
          else
            { q[i]=0;  i=i-1;
              if (i<0)
                { printf("\n");  free(q); return; }
              q[i]=q[i]+1;
            }
        }
    }

   main()
    { int n;
      printf("input n=");
      scanf("%d",&n);
      queen(n);
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -