Advertisement
Alx09

Untitled

Jul 7th, 2020
1,259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.02 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.    
  22.     return 1;
  23. }
  24.  
  25. natural valid2() {
  26.     natural nr = 0, i;
  27.     for (i = 1; i <= 6; i++) {
  28.         if (v[i] % 2 == 0) nr++;
  29.     }
  30.     if (nr != 1) return 0;
  31.     return 1;
  32. }
  33.  
  34. natural Solution(natural k) {
  35.     return (k == 6) && valid2();
  36. }
  37.  
  38. void Print() {
  39.     natural i;
  40.     printf("0721 ");
  41.     for (i = 1; i <= 6; i++)
  42.         printf("%d", v[i]);
  43.     printf(";\n");
  44. }
  45.  
  46. void Back() {
  47.     natural k = 1, isS, isV;
  48.     Init(k);
  49.     while (k > 0) {
  50.         isS = 0; isV = 0;
  51.         if (k <= 6)
  52.             do {
  53.                 isS = Succesor(k);
  54.                 if (isS) isV = Valid(k);
  55.             } while (isS && !isV);
  56.             if (isS)
  57.                 if (Solution(k))
  58.                     Print();
  59.                 else {
  60.                     k++;
  61.                     Init(k);
  62.                 }
  63.             else
  64.                 k--;
  65.     }
  66. }
  67.  
  68. int main() {
  69.        
  70.     Back();
  71.     system("pause");
  72.     return 0;
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement