给定一个由N个整数组成的数组,任务是求对(i,j)的数目,使A[i]^A[j]为奇数。 例如:
null
Input : N = 5 A[] = { 5, 4, 7, 2, 1}Output :6Since pair of A[] =( 5, 4 ) = 1( 5, 7 ) = 2( 5, 2 ) = 7( 5, 1 ) = 4( 4, 7 ) = 3( 4, 2 ) = 6( 4, 1 ) = 5( 7, 2 ) = 5( 7, 1 ) = 6( 2, 1 ) = 3Total XOR ODD pair = 6Input : N = 7 A[] = { 7, 2, 8, 1, 0, 5, 11 }Output :12Since pair of A[] =( 7, 2 ) = 5( 7, 8 ) = 15( 7, 1 ) = 6( 7, 0 ) = 7( 7, 5 ) = 2( 7, 11 ) = 12( 2, 8 ) = 10( 2, 1 ) = 3( 2, 0 ) = 2( 2, 5 ) = 7( 2, 11 ) = 9( 8, 1 ) = 9( 8, 0 ) = 8( 8, 5 ) = 13( 8, 11 ) = 3( 1, 0 ) = 1( 1, 5 ) = 4( 1, 11 ) = 10( 0, 5 ) = 5( 0, 11 ) = 11( 5, 11 ) = 14
A. 幼稚的方法 就是检查每一对并打印对数。 以下是上述方法的实施情况:
C++
// C++ program to count pairs // with XOR giving a odd number #include <iostream> using namespace std; // Function to count number of odd pairs int findOddPair( int A[], int N) { int i, j; // variable for counting odd pairs int oddPair = 0; // find all pairs for (i = 0; i < N; i++) { for (j = i + 1; j < N; j++) { // find XOR operation // check odd or even if ((A[i] ^ A[j]) % 2 != 0) oddPair++; } cout << endl; } // return number of odd pair return oddPair; } // Driver Code int main() { int A[] = { 5, 4, 7, 2, 1 }; int N = sizeof (A) / sizeof (A[0]); // calling function findOddPair // and print number of odd pair cout << findOddPair(A, N) << endl; return 0; } |
JAVA
// Java program to count pairs // with XOR giving a odd number class GFG { // Function to count // number of odd pairs static int findOddPair( int A[], int N) { int i, j; // variable for counting // odd pairs int oddPair = 0 ; // find all pairs for (i = 0 ; i < N; i++) { for (j = i + 1 ; j < N; j++) { // find XOR operation // check odd or even if ((A[i] ^ A[j]) % 2 != 0 ) oddPair++; } } // return number // of odd pair return oddPair; } // Driver Code public static void main(String args[]) { int A[] = { 5 , 4 , 7 , 2 , 1 }; int N = A.length; // calling function findOddPair // and print number of odd pair System.out.println(findOddPair(A, N)); } } // This code is contributed // by Kirti_Mangal |
Python3
# Python3 program to count pairs # with XOR giving a odd number # Function to count number of odd pairs def findOddPair(A, N) : # variable for counting odd pairs oddPair = 0 # find all pairs for i in range ( 0 , N) : for j in range (i + 1 , N) : # find XOR operation # check odd or even if ((A[i] ^ A[j]) % 2 ! = 0 ): oddPair + = 1 # return number of odd pair return oddPair # Driver Code if __name__ = = '__main__' : A = [ 5 , 4 , 7 , 2 , 1 ] N = len (A) # calling function findOddPair # and print number of odd pair print (findOddPair(A, N)) # This code is contributed by Smitha Dinesh Semwal |
C#
// C# program to count pairs // with XOR giving a odd number using System; class GFG { // Function to count // number of odd pairs static int findOddPair( int [] A, int N) { int i, j; // variable for counting // odd pairs int oddPair = 0; // find all pairs for (i = 0; i < N; i++) { for (j = i + 1; j < N; j++) { // find XOR operation // check odd or even if ((A[i] ^ A[j]) % 2 != 0) oddPair++; } } // return number // of odd pair return oddPair; } // Driver Code public static void Main() { int [] A = { 5, 4, 7, 2, 1 }; int N = A.Length; // calling function findOddPair // and print number of odd pair Console.WriteLine(findOddPair(A, N)); } } // This code is contributed // by Akanksha Rai(Abby_akku) # calling function findOddPair # and print number of odd pair print(findOddPair(a, n)) |
PHP
<?php //PHP program to count pairs // with XOR giving a odd number // Function to count number of odd pairs function findOddPair( $A , $N ) { $i ; $j ; // variable for counting odd pairs $oddPair = 0; // find all pairs for ( $i = 0; $i < $N ; $i ++) { for ( $j = $i + 1; $j < $N ; $j ++) { // find XOR operation // check odd or even if (( $A [ $i ] ^ $A [ $j ]) % 2 != 0) $oddPair ++; } } // return number of odd pair return $oddPair ; } // Driver Code $A = array ( 5, 4, 7, 2, 1 ); $N = sizeof( $A ) / sizeof( $A [0]); // calling function findOddPair // and print number of odd pair echo findOddPair( $A , $N ), "" ; // This Code is Contributed by ajit ?> |
Javascript
<script> // JavaScript program to count pairs // with XOR giving a odd number // Function to count number of odd pairs function findOddPair(A, N) { let i, j; // variable for counting odd pairs let oddPair = 0; // find all pairs for (i = 0; i < N; i++) { for (j = i + 1; j < N; j++) { // find XOR operation // check odd or even if ((A[i] ^ A[j]) % 2 != 0) oddPair++; } } // return number of odd pair return oddPair; } // Driver Code let A = [ 5, 4, 7, 2, 1 ]; let N = A.length; // calling function findOddPair // and print number of odd pair document.write(findOddPair(A, N) + "<br>" ); // This code is contributed by Surbhi Tyagi. </script> |
输出:
6
时间复杂度:O(N^2) 一 有效解决方案 就是数偶数。然后返回count*(N–count)。
C++
// C++ program to count pairs // with XOR giving a odd number #include <iostream> using namespace std; // Function to count number of odd pairs int findOddPair( int A[], int N) { int i, count = 0; // find all pairs for (i = 0; i < N; i++) { if (A[i] % 2 == 0) count++; } // return number of odd pair return count * (N - count); } // Driver Code int main() { int a[] = { 5, 4, 7, 2, 1 }; int n = sizeof (a) / sizeof (a[0]); // calling function findOddPair // and print number of odd pair cout << findOddPair(a, n) << endl; return 0; } |
JAVA
// Java program to count pairs // with XOR giving a odd number class GFG { // Function to count // number of odd pairs static int findOddPair( int A[], int N) { int i, count = 0 ; // find all pairs for (i = 0 ; i < N; i++) { if (A[i] % 2 == 0 ) count++; } // return number of odd pair return count * (N - count); } // Driver Code public static void main(String[] arg) { int a[] = { 5 , 4 , 7 , 2 , 1 }; int n = a.length ; // calling function findOddPair // and print number of odd pair System.out.println(findOddPair(a, n)); } } // This code is contributed // by Smitha |
Python3
# Python3 program to count pairs # with XOR giving a odd number # Function to count number of odd pairs def findOddPair(A, N) : count = 0 # find all pairs for i in range ( 0 , N) : if (A[i] % 2 = = 0 ) : count + = 1 # return number of odd pair return count * (N - count) # Driver Code if __name__ = = '__main__' : a = [ 5 , 4 , 7 , 2 , 1 ] n = len (a) print (findOddPair(a,n)) # this code is contributed by Smitha Dinesh Semwal |
C#
// C# program to count pairs // with XOR giving a odd number using System; class GFG { // Function to count // number of odd pairs static int findOddPair( int []A, int N) { int i, count = 0; // find all pairs for (i = 0; i < N; i++) { if (A[i] % 2 == 0) count++; } // return number of odd pair return count * (N - count); } // Driver Code public static void Main() { int []a = { 5, 4, 7, 2, 1 }; int n = a.Length ; // calling function findOddPair // and print number of odd pair Console.Write(findOddPair(a, n)); } } // This code is contributed // by Smitha |
PHP
<?php // PHP program to count pairs // with XOR giving a odd number // Function to count number // of odd pairs function findOddPair( $A , $N ) { $count = 0; // find all pairs for ( $i = 0; $i < $N ; $i ++) { if ( $A [ $i ] % 2 == 0) $count ++; } // return number of odd pair return $count * ( $N - $count ); } // Driver Code $a = array ( 5, 4, 7, 2, 1 ); $n = count ( $a ); // calling function findOddPair // and print number of odd pair echo ( findOddPair( $a , $n )); // This code is contributed // by Smitha ?> |
Javascript
<script> // Javascript program to count pairs // with XOR giving a odd number // Function to count number of odd pairs function findOddPair(A, N) { let i, count = 0; // find all pairs for (i = 0; i < N; i++) { if (A[i] % 2 == 0) count++; } // return number of odd pair return count * (N - count); } // Driver Code let a = [ 5, 4, 7, 2, 1 ]; let n = a.length; // calling function findOddPair // and print number of odd pair document.write(findOddPair(a, n)); </script> |
输出:
6
时间复杂度:O(N)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END