Sort by

recency

|

567 Discussions

|

  • + 0 comments
    void calculate_the_maximum(int n, int k) {
        
      //Write your code here.
      int numbersToConsider[n];
    	//Numbers in answer array will represent biggest and, or, xor in sequence
      int answer[3] = {0, 0, 0};
      
      //Making an array of numbers from 1 to n
      for(int i = 0; i < n; i++){
        numbersToConsider[i] = i+1;
      } 
      
      for(int i = 0; i < numbersToConsider[n-1]; i++){
        for(int j = 1; numbersToConsider[i] + j <= n ; j++){
            int and;
            and = numbersToConsider[i] & numbersToConsider[i+j];
            if(and > answer[0] && and < k){
                answer[0] = and;
            }
            int or;
            or = numbersToConsider[i] | numbersToConsider[i+j];
            if(or > answer[1] && or < k){
                answer[1] = or;
            }
            int xor;
            xor = numbersToConsider[i] ^ numbersToConsider[i+j];
            if(xor > answer[2] && xor < k){
                answer[2] = xor;
            }
        }
      }
      printf("%d\n%d\n%d", answer[0], answer[1], answer[2]);
    }
    
  • + 0 comments

    void calculate_the_maximum(int n, int k) { int i,j,and,or,xor,M1=0,M2=0,M3=0; for(i=1;i

    }
    

    } printf("%d\n",M1); printf("%d\n",M2); printf("%d\n",M3); }

  • + 0 comments

    **Mine C solution **

    void calculate_the_maximum(int n, int k) {
      int a=0,b=0,c=0; 
      for(int i=1; i<= n; i++){
        for(int j= i+1; j<=n; j++){
            if (((i&j)< k) && ((i&j)> a)){ a = (i&j); } 
            if (((i|j)< k) && ((i|j)> b)){ b = (i|j); } 
            if (((i^j)< k) && ((i^j)> c)){ c = (i^j); } 
        }
      }
      printf("%d\n%d\n%d",a,b,c);
    }
    
  • + 0 comments
    void calculate_the_maximum(int n, int k)
    {
        int and, or, xor;
        int max_AND = 0;
        int max_OR = 0;
        int max_XOR = 0;
    
        for (int i = 1; i <= n; i++)
        {
            for (int j = i + 1; j <= n; j++)
            {
                and = i & j;
                or = i | j;
                xor = i ^ j;
                if ((max_AND < and) && (and < k))
                    max_AND = and;
                if ((max_OR < or) && (or < k))
                    max_OR = or;
                if ((max_XOR < xor) && (xor < k))
                    max_XOR = xor;
            }
        }
        printf("%d\n%d\n%d\n", max_AND, max_OR, max_XOR);
    }
    
  • + 0 comments
    void calculate_the_maximum(int n, int k) {
        
        int c, d, e;
        int max_c = 0;
        int max_d = 0;
        int max_e = 0;
        int arr[n];
    
        for (int i=0;i<n;i++){
            arr[i]=i+1;
        }
        for (int i = 0; i < n; i++)
        {
            for (int j = i + 1; j < n; j++)
            {
                c = arr[i] & arr[j];
                d = arr[i] | arr[j];
                e = arr[i] ^ arr[j];
                if ((max_c < c) && (c < k))
                    max_c = c;
                if ((max_d < d) && (d < k))
                    max_d = d;
                if ((max_e < e) && (e < k))
                    max_e = e;
            }
        }
        printf("%d\n", max_c);
        printf("%d\n", max_d);
        printf("%d\n", max_e);
        
    }