home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / tpchal_1.zip / FC.C < prev    next >
C/C++ Source or Header  |  1994-06-09  |  2KB  |  51 lines

  1. /*
  2. **  Fraser Campbell (1:252/202)
  3. */
  4.  
  5. #include <stdio.h>
  6.  
  7. int a, b, c, d, f, g, h, i;
  8. long number;
  9.  
  10. main()
  11. {
  12.     printf ("\nCalculating value(s) ...\n");
  13.     for (a = 1; a <= 9; a++)
  14.         for (b = 2; b <= 8; b+=2)   /* b, d, f, h must be even */
  15.             for (c = 1; c <= 9; c++)
  16.                 for (d = 2; d <= 8; d+=2)
  17.                     /*
  18.                     ** The 5th number which we might have called e
  19.                     ** must be 5 so why declare it?
  20.                     */
  21.                     for (f = 2; f <= 8; f+=2)
  22.                         for (g = 1; g <= 9; g++)
  23.                             for (h = 2; h <= 8; h+=2)
  24.                                 for (i = 1; i <= 9; i++)
  25.     {
  26.         if (a != b && a != c && a != d && a != 5 && a != f &&
  27.             a != g && a != h && a != i && b != c && b != d &&
  28.             b != 5 && b != f && b != g && b != h && b != i &&
  29.             c != d && c != 5 && c != f && c != g && c != h &&
  30.             c != i && d != 5 && d != f && d != g && d != h &&
  31.                   d != i && f != 5 && f != g && f != h && f != i &&
  32.                   g != 5 && g != h && g != i && h != 5 && h != i  )
  33.         {
  34.             number = a * 100000000 + b * 10000000 + c * 1000000 +
  35.                 d * 100000 + 50000 + f * 1000 + g * 100 +
  36.                 h * 10 + i;
  37.             if (   number % 9 == 0 &&
  38.                 ((number - number % 10)/10) % 8 == 0 &&
  39.                 ((number - number % 100)/100) % 7 == 0 &&
  40.                 ((number - number % 1000)/1000) % 6 == 0 &&
  41.                 /*
  42.                 ** No need to check for divisibility by 5 here
  43.                 */
  44.                 ((number - number % 100000)/100000) % 4 == 0 &&
  45.                 ((number - number % 1000000)/1000000) % 3 == 0 &&
  46.                 ((number - number % 10000000)/10000000) % 2 == 0 )
  47.                     printf ("%ld\n\n", number);
  48.         }
  49.     }
  50. }   
  51.