Sort by

recency

|

569 Discussions

|

  • + 0 comments

    { int max_and = 0, max_or = 0, max_xor = 0;

    for (int a = 1; a <= n; a++) {
        for (int b = a + 1; b <= n; b++) {
            int and_val = a & b;
            int or_val = a | b;
            int xor_val = a ^ b;
    
            if (and_val > max_and && and_val < k) {
                max_and = and_val;
            }
            if (or_val > max_or && or_val < k) {
                max_or = or_val;
            }
            if (xor_val > max_xor && xor_val < k) {
                max_xor = xor_val;
            }
        }
    }
    
    printf("%d\n%d\n%d\n", max_and, max_or, max_xor);
    

    }

  • + 0 comments

    include

    int main() { int n,k; scanf("%d %d", &n, &k); int b=2, a=1,real_b = 0, max_or=0, max_and=0,max_xor=0; for(a; a<=n; a++){ if(a==b){ b++; } real_b=b; for(b; b<=n; b++){ int and=0, or=0, xor=0; and = a&b; or = a | b; xor = a ^ b; if(and>max_and && andmax_or && ormax_xor && xor < k){ max_xor = xor; }

        }
        b = real_b;
    }
    printf("%d\n%d\n%d", max_and,max_or,max_xor);
    return 0;
    

    }

  • + 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);
    }