Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int multipliers[] = { 3, 7, 1, 3, 7 ,1, 3, 7 };
  4. int modulo = 10;
  5.  
  6. int
  7. valid(int *values)
  8. {
  9.     int i, sum = 0;
  10.  
  11.     for (i = 0; i < 8; i++)
  12.         sum += values[i] * multipliers[i];
  13.  
  14.     // printf("%d %d\n", sum, sum % 10);
  15.     return sum % 10 == 0;
  16. }
  17.  
  18. int
  19. inc(int *values)
  20. {
  21.     int i = 7;
  22.  
  23.     do {
  24.         if (i == -1)
  25.             break;
  26.         ++values[i];
  27.         if (values[i] == 10) {
  28.             values[i] = 0;
  29.             --i;
  30.         } else {
  31.             break;
  32.         }
  33.     } while(i != -1);
  34.  
  35.     return i != -1;
  36. }
  37.  
  38. void
  39. print_values(int *values)
  40. {
  41.     int i;
  42.  
  43.     for (i = 0; i < 8; i++)
  44.         printf("%d", values[i]);
  45.     printf("\n");
  46. }
  47.  
  48.  
  49. int
  50. main(int argc, char **argv)
  51. {
  52.     int values[] = {0, 0, 0, 0, 0, 0, 0, 0};
  53.  
  54.     do {
  55.         if (valid(values))
  56.             print_values(values);
  57.     } while (inc(values));
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement