Dados dos números A, B. La tarea es encontrar los números de pares especiales de A, B. Un par especial de dos números A, B es un par de números X, Y que satisface ambas condiciones dadas: A = X | Y, B = X e Y.
Ejemplos:
Input: A = 3, B = 0 Output: 2 (0, 3), (1, 2) will satisfy the conditions Input: A = 5, B = 7 Output: 0
Enfoque: La observación clave aquí es que si queremos que el OR de dos números, X, Y sea igual a A. Entonces ambos, X, Y tienen que ser menores o iguales a A. Si cualquiera es mayor que A, entonces hay OR ganado ‘t ser igual a A. Esto nos dará los límites donde terminará nuestro bucle, resto, intentaremos verificar si dos pares cumplen con la condición dada, luego incrementaremos el contador.
A continuación se muestra la implementación requerida:
C++
// C++ implementation of above approach #include <iostream> using namespace std; // Function to count the pairs int countPairs(int A, int B) { // Variable to store a number of special pairs int cnt = 0; for (int i = 0; i <= A; ++i) { for (int j = i; j <= A; ++j) { // Calculating AND of i, j int AND = i & j; // Calculating OR of i, j int OR = i | j; // If the conditions are met, // then increment the count of special pairs if (OR == A and AND == B) { cnt++; } } } return cnt; } // Driver code int main() { int A = 3, B = 0; cout << countPairs(A, B); return 0; }
Java
// Java implementation of above approach class GFG { // Function to count the pairs static int countPairs(int A, int B) { // Variable to store a number // of special pairs int cnt = 0; for (int i = 0; i <= A; ++i) { for (int j = i; j <= A; ++j) { // Calculating AND of i, j int AND = i & j; // Calculating OR of i, j int OR = i | j; // If the conditions are met, // then increment the count // of special pairs if (OR == A && AND == B) { cnt++; } } } return cnt; } // Driver code public static void main(String [] args) { int A = 3, B = 0; System.out.println(countPairs(A, B)); } } // This code is contributed by ihritik
Python3
# Python3 implementation of above # approach # Function to count the pairs def countPairs(A,B): # Variable to store a number # of special pairs cnt=0 for i in range(0,A+1): for j in range(i,A+1): # Calculating AND of i, j AND = i&j OR = i|j # If the conditions are met, # then increment the count of # special pairs if(OR==A and AND==B): cnt +=1 return cnt if __name__=='__main__': A = 3 B = 0 print(countPairs(A,B)) # This code is contributed by # Shrikant13
C#
// C# implementation of above approach using System; class GFG { // Function to count the pairs static int countPairs(int A, int B) { // Variable to store a number // of special pairs int cnt = 0; for (int i = 0; i <= A; ++i) { for (int j = i; j <= A; ++j) { // Calculating AND of i, j int AND = i & j; // Calculating OR of i, j int OR = i | j; // If the conditions are met, // then increment the count // of special pairs if (OR == A && AND == B) { cnt++; } } } return cnt; } // Driver code public static void Main() { int A = 3, B = 0; Console.WriteLine(countPairs(A, B)); } } // This code is contributed by ihritik
PHP
<?php // PHP implementation of above approach // Function to count the pairs function countPairs($A, $B) { // Variable to store a number // of special pairs $cnt = 0; for ($i = 0; $i <= $A; ++$i) { for ($j = $i; $j <= $A; ++$j) { // Calculating AND of i, j $AND = $i & $j; // Calculating OR of i, j $OR = $i | $j; // If the conditions are met, // then increment the count // of special pairs if ($OR == $A && $AND == $B) { $cnt++; } } } return $cnt; } // Driver code $A = 3; $B = 0; echo countPairs($A, $B); // This code is contributed by ihritik ?>
Javascript
<script> // Javascript implementation of above approach // Function to count the pairs function countPairs(A, B) { // Variable to store a number of special pairs let cnt = 0; for (let i = 0; i <= A; ++i) { for (let j = i; j <= A; ++j) { // Calculating AND of i, j let AND = i & j; // Calculating OR of i, j let OR = i | j; // If the conditions are met, // then increment the count of special pairs if (OR == A && AND == B) { cnt++; } } } return cnt; } // Driver code let A = 3, B = 0; document.write(countPairs(A, B)); // This code is contributed by _saurabh_jaiswal <script>
2
Publicación traducida automáticamente
Artículo escrito por imdhruvgupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA