└── bitwise operators /bitwise operators: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void enterNumbers(int n, int numbers[]); 4 | void output(int k, int n, int numbers[]); 5 | 6 | int main(){ 7 | int n, k; 8 | scanf("%d %d", &n, &k); 9 | int numbers[n]; 10 | enterNumbers(n, numbers); 11 | output(k, n, numbers); 12 | return 0; 13 | } 14 | 15 | void enterNumbers(int n, int numbers[]){ 16 | for(int i=0; i < n; i++){ 17 | numbers[i] = i + 1; 18 | } 19 | } 20 | 21 | void output(int k, int n, int numbers[]){ 22 | int a; 23 | int b; 24 | int andlogic = 0; 25 | int orlogic = 0; 26 | int xorlogic = 0; 27 | for(int i = 0; i < n - 1; i++){ 28 | for(int j = i + 1; j < n; j++){ 29 | if(i != j){ 30 | a = numbers[i]; 31 | b = numbers[j]; 32 | if((a & b) > andlogic && (a & b) < k){ 33 | andlogic = a & b; 34 | } 35 | if((a | b) > orlogic && (a | b) < k){ 36 | orlogic = a | b; 37 | } 38 | if((a ^ b) > xorlogic && (a ^ b) < k){ 39 | xorlogic = a ^ b; 40 | } 41 | } 42 | } 43 | } 44 | printf("%d\n", andlogic); 45 | printf("%d\n", orlogic); 46 | printf("%d\n", xorlogic); 47 | } 48 | --------------------------------------------------------------------------------