Advertisement
Alx09

Untitled

Jul 7th, 2020
1,324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.12 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define natural unsigned short // csf sa mai pierd timp
  5.  
  6. unsigned v[8], nr;
  7.  
  8. void Init(natural k) {
  9.     v[k] =  0;
  10. }
  11. natural Succesor(natural k) {
  12.     if (v[k] < 9) {
  13.         v[k]++;
  14.         if (v[k] == 2)v[k]++;
  15.         return 1;
  16.     }
  17.     return 0;
  18. }
  19.  
  20. natural Valid(natural k) {
  21.     natural i;
  22.     if (v[k] % 2 == 1) return 1;
  23.     for (i = 1; i < k; i++)
  24.         if (v[i] == v[k])
  25.             return 0;
  26.     return 1;
  27. }
  28.  
  29. natural valid2() {
  30.     natural nr = 0, i;
  31.     for (i = 1; i <= 6; i++) {
  32.         if (v[i] % 2 == 0) nr++;
  33.     }
  34.  
  35.     if (nr != 3) return 0;
  36.     return 1;
  37. }
  38.  
  39. natural Solution(natural k) {
  40.     return (k == 6) && valid2();
  41. }
  42.  
  43. void Print() {
  44.     natural i;
  45.     printf("0721 ");
  46.     for (i = 1; i <= 6; i++)
  47.         printf("%d", v[i]);
  48.     printf(";\n");
  49. }
  50.  
  51. void Back() {
  52.     natural k = 1, isS, isV;
  53.     Init(k);
  54.     while (k > 0) {
  55.         isS = 0; isV = 0;
  56.         if (k <= 6)
  57.             do {
  58.                 isS = Succesor(k);
  59.                 if (isS) isV = Valid(k);
  60.             } while (isS && !isV);
  61.             if (isS)
  62.                 if (Solution(k))
  63.                     Print();
  64.                 else {
  65.                     k++;
  66.                     Init(k);
  67.                 }
  68.             else
  69.                 k--;
  70.     }
  71. }
  72.  
  73. int main() {
  74.        
  75.     Back();
  76.     system("pause");
  77.     return 0;
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement