Advertisement
cmiN

Nr. 1

Mar 23rd, 2011
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cmath>
  3.  
  4. const int nmax = 10;
  5. int n, vec[nmax];
  6. bool viz[nmax];
  7.  
  8. bool prim()
  9. {
  10.     long long nr = 0, rad;
  11.     for (int i = 0; i < n; i++) {
  12.         nr = nr * 10 + vec[i];
  13.     }
  14.     rad = sqrt(nr);
  15.     for (long long i = 2; i <= rad; i++) {
  16.         if (!(nr % i)) {
  17.             return 0;
  18.         }
  19.     }
  20.     return 1;
  21. }
  22.  
  23. void back(int poz)
  24. {
  25.     if (poz == n) {
  26.         if (prim()) {
  27.             for (int i = 0; i < n; i++) {
  28.                 printf("%d", vec[i]);
  29.             }
  30.             printf("\n");
  31.         }
  32.     } else {
  33.         for (int i = 0; i < 10; i++) {
  34.             if (!viz[i]) {
  35.                 viz[i] = 1;
  36.                 vec[poz] = i;
  37.                 back(poz + 1);
  38.                 viz[i] = 0;
  39.             }
  40.         }
  41.     }
  42. }
  43.  
  44. int main()
  45. {
  46.     printf("n: ");
  47.     scanf("%d", &n);
  48.     for (int i = 1; i < 10; i++) {
  49.         viz[i] = 1;
  50.         vec[0] = i;
  51.         back(1);
  52.         viz[i] = 0;
  53.     }
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement