Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- using namespace std;
- const int N = 10;
- int signs[N - 1];
- bool gen(){
- extern int signs[N - 1];
- //printf("%d", signs[2]);
- int i = N - 1;
- int sum = 0;
- while (i >= 0 and signs[i] == 3) i--;
- if (i==-1) return false;
- else {
- signs[i] += 1;
- for (int j = i + 1; j < N - 1; j++) signs[j] = 0;
- //for (int j = 0; j < N - 1; j++)
- // printf("%d", signs[j]);
- //printf("\n");
- sum = 1;
- for (int i = 0; i < N - 1; ++i){
- switch(signs[i]){
- case 0:
- sum -= (i + 1);
- //printf("-");
- break;
- case 1:
- sum += (i + 1);
- //printf("+");
- break;
- case 2:
- sum *= (i + 1);
- //printf("*");
- break;
- case 3:
- sum /= (i + 1);
- //printf("/");
- break;
- }
- }
- if ((int)sum == 100) printf("%d\n", (int)sum);
- return true;
- }
- }
- int main(){
- int signs[N - 1];
- float sum = 0;
- //0 = "-", 1 = "+", 2 = "*", 3 = "/"
- for (int i = 0; i < N - 1; ++i) signs[i] = 0;
- signs[N] = 0;
- while (gen() == true) ;
- /* for (int j = 0; j < N; j++)
- printf("%d", signs[j]);
- sum = 1;
- for (int i = 0; i < N - 1; ++i){
- switch(signs[i]){
- case 0:
- sum -= (i + 1);
- printf("-");
- break;
- case 1:
- sum += (i + 1);
- printf("+");
- break;
- case 2:
- sum *= (i + 1);
- printf("*");
- break;
- case 3:
- sum /= (i + 1);
- printf("/");
- break;
- }
- }
- printf("%d\n", (int)sum);
- }
- printf("%f", sum);
- */
- return 0;
- }
Add Comment
Please, Sign In to add comment