Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 8 queens problem meets obfuscated C programming

Author: Filip Tvrzsky

Date: 16:11:23 04/10/03

Go up one level in this thread


And the last correction; now it prints also white and black squares ...

#include <stdio.h>

int v = 0, i = 0, j = 0, l = 0, a[9];

int main(void)
{
  while(a[0] != 8)
  {
    v = a[j] - a[i];
    if (j < 8)
    {
      if (i == 8)
      {
        if (l == 0)
        {
          putchar('\n');
          if (j == 0) putchar('\n');
        }
        if (l == v) putchar('Q');
        else putchar((l + j) & 1 ? '#': ' ');
        v = ++l;
      }
      else
      {
        if (a[i] < 8 && v != 0 && v != i - j && v != j - i) v = 1;
        else v = 0;
      }
    }
    if (v != 0)
    {
     l = l % 8;
     if (l == 0) j++;
    }
    else
    {
      if (i == 8) a[--i]++;
      else
      {
        if (i == j) a[++i] = 0;
        else
        {
          a[i]++;
          if (a[i] >= 8) a[--i]++;
        }
      }
      j = 0;
    }
  }
}



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.