home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / tpchal_1.zip / RBS_0.C1 < prev    next >
Text File  |  1994-05-20  |  1KB  |  39 lines

  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5.       unsigned posn, used = (unsigned)-1;
  6.       unsigned long n, div;
  7.       int I;
  8.  
  9. #ifdef TEST
  10.     for (I = 0; I < 200; ++I)
  11.       {
  12. #endif
  13.             for (n = 100000008L, posn = 2, div = 10000000L;
  14.             posn < 10 && n < 1000000000L;
  15.             ++posn, div /= 10)
  16.             {
  17.                   unsigned dig;
  18.                   unsigned long x;
  19.  
  20.                   if ((0L != (x = ((n / div) % posn))) ||
  21.                         (0L == (dig = (unsigned)((n / div) % 10))) ||
  22.                         (!(used & (1 << dig))))
  23.                   {
  24.                         n += (posn - x) * div;
  25.                         n -= n % div;
  26.                         posn = 1;
  27.                         div = 100000000L;
  28.                         used = (unsigned)-1;
  29.                         continue; 
  30.                   }
  31.                   else  used &= ~(1 << dig);
  32.             }
  33. #ifdef TEST
  34.     }
  35. #endif
  36.       printf("Number = %lu\n", n);
  37.       return 0;
  38.