Advertisement
icatalin

generare numere de k cifre bkt

May 9th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.90 KB | None | 0 0
  1. //Sa se genereze toate numerele naturale de k cifre, avand toate cifrele in ordine crescatoare si
  2. //ultima cifra para.
  3. #include <stdio.h>
  4.  
  5. int k, st[100];
  6.  
  7. int valid(int p)
  8. {
  9.     int i, c = 0;
  10.  
  11.     if (p > 1)
  12.         if (st[p] < st[p-1]) // se verifica ordinea crescatoare
  13.         return 0;
  14.  
  15.     if (st[1] == 0) // se verifica sa nu fie 0 pe primul nivel stiva
  16.         return 0;
  17.  
  18.     return 1;
  19. }
  20.  
  21.  
  22. void afis()
  23. {
  24.     int i;
  25.     for (i=1; i<=k; i++)
  26.         printf("%d", st[i]);
  27.     printf("\n");
  28. }
  29.  
  30. void backtr(int p)
  31. {
  32.     int i;
  33.  
  34.     for (i=0; i<=9; i++) // luam toate cifrele, de la 0 la 9
  35.     {
  36.         st[p] = i;
  37.  
  38.         if (valid(p))
  39.             if (p == k)
  40.                 if(st[p]%2==0)
  41.                     afis();
  42.                 else;
  43.             else
  44.                 backtr(p+1);
  45.     }
  46. }
  47.  
  48.  
  49. int main()
  50. {
  51.     scanf("%d",&k);
  52.  
  53.     backtr(1);
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement