Guest User

Untitled

a guest
May 27th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. using namespace std;
  3.  
  4. const int N = 10;
  5. int signs[N - 1];
  6.  
  7. bool gen(){
  8.     extern int signs[N - 1];
  9.     //printf("%d", signs[2]);
  10.     int i = N - 1;
  11.     int sum = 0;
  12.     while (i >= 0 and signs[i] == 3) i--;
  13.     if (i==-1) return false;
  14.     else {
  15.         signs[i] += 1;
  16.         for (int j = i + 1; j < N - 1; j++) signs[j] = 0;
  17.         //for (int j = 0; j < N - 1; j++)
  18.         //  printf("%d", signs[j]);
  19.         //printf("\n");
  20.         sum = 1;
  21.         for (int i = 0; i < N - 1; ++i){
  22.             switch(signs[i]){
  23.                 case 0:
  24.                     sum -= (i + 1);
  25.                     //printf("-");
  26.                     break;
  27.                 case 1:
  28.                     sum += (i + 1);
  29.                     //printf("+");
  30.                     break;
  31.                 case 2:
  32.                     sum *= (i + 1);
  33.                     //printf("*");
  34.                     break;
  35.                 case 3:
  36.                     sum /= (i + 1);
  37.                     //printf("/");
  38.                     break;
  39.             }
  40.         }
  41.         if ((int)sum == 100) printf("%d\n", (int)sum);
  42.         return true;
  43.     }
  44. }
  45.  
  46. int main(){
  47.     int signs[N - 1];
  48.     float sum = 0;
  49.     //0 = "-", 1 = "+", 2 = "*", 3 = "/"
  50.     for (int i = 0; i < N - 1; ++i) signs[i] = 0;
  51.     signs[N] = 0;
  52.     while (gen() == true) ;
  53.     /*  for (int j = 0; j < N; j++)
  54.             printf("%d", signs[j]);
  55.         sum = 1;
  56.         for (int i = 0; i < N - 1; ++i){
  57.             switch(signs[i]){
  58.                 case 0:
  59.                     sum -= (i + 1);
  60.                     printf("-");
  61.                     break;
  62.                 case 1:
  63.                     sum += (i + 1);
  64.                     printf("+");
  65.                     break;
  66.                 case 2:
  67.                     sum *= (i + 1);
  68.                     printf("*");
  69.                     break;
  70.                 case 3:
  71.                     sum /= (i + 1);
  72.                     printf("/");
  73.                     break;
  74.             }
  75.         }
  76.         printf("%d\n", (int)sum);
  77.     }
  78.     printf("%f", sum);
  79.     */
  80.     return 0;
  81. }
Add Comment
Please, Sign In to add comment