Given two positive integers X and Y, the task is to count pairs with even sum possible by choosing any integer from the range 1 to X and another integer from the range 1 to Y.
Examples:
Input : X = 2, Y = 3
Output : 3
Explanation : All such possible pairs are {1, 1}, {1, 3}, {2, 2}.
Approach: Follow the steps below to solve the problem:
- Initialize a variable, say cntXEvenNums, to store the count of even numbers in the range [1, X] obtained by dividing X by 2.
- Initialize a variable, say cntXOddNums, to store the count of odd numbers in the range [1, X] obtained by dividing (X + 1) by 2.
- Initialize a variable, say cntYEvenNums, to store the count of even numbers between 1 to Y by dividing Y by 2.
- Initialize a variable, say cntYOddNums, to store the count of odd numbers between 1 to Y by dividing (Y + 1) by 2.
- Initialize a variable, say cntPairs, to store the count of even sum pairs by multiplying cntXEvenNums with cntYEvenNums and multiplying cntXOddNums with cntYOddNums and find the sum of both.
- Finally, print the value of cntPairs obtained.
Below is the implementation of the above approach:
C++
// C++ program to implement// the above approach#include <bits/stdc++.h>using namespace std;// Function to count even// sum pairs in the given rangelong long cntEvenSumPairs(long long X, long long Y){ // Stores the count of even // numbers between 1 to X long long cntXEvenNums = X / 2; // Stores the count of odd // numbers between 1 to X long long cntXOddNums = (X + 1) / 2; // Stores the count of even // numbers between 1 to Y long long cntYEvenNums = Y / 2; // Stores the count of odd // numbers between 1 to Y long long cntYOddNums = (Y + 1) / 2; // Stores the count of // pairs having even sum long long cntPairs = (cntXEvenNums * 1LL * cntYEvenNums) + (cntXOddNums * 1LL * cntYOddNums); // Returns the count of pairs // having even sum return cntPairs;}// Driver Codeint main(){ long long X = 2; long long Y = 3; cout << cntEvenSumPairs(X, Y); return 0;} |
Java
// Java program to implement// the above approachimport java.io.*;class GFG { // Function to count maximum even // sum pairs in the given range static long cntEvenSumPairs(long X, long Y) { // Stores the count of even // numbers between 1 to X long cntXEvenNums = X / 2; // Stores the count of odd // numbers between 1 to X long cntXOddNums = (X + 1) / 2; // Stores the count of even // numbers between 1 to Y long cntYEvenNums = Y / 2; // Stores the count of odd // numbers between 1 to Y long cntYOddNums = (Y + 1) / 2; // Stores the count of // pairs having even sum long cntPairs = (cntXEvenNums * cntYEvenNums) + (cntXOddNums * cntYOddNums); // Returns the count of pairs // having even sum return cntPairs; } // Driver Code public static void main(String[] args) { long X = 2; long Y = 3; System.out.println(cntEvenSumPairs(X, Y)); }} |
Python
# Python program to implement # the above approach # Function to count even # sum pairs in the given range def cntEvenSumPairs(X, Y): # Stores the count of even # numbers between 1 to X cntXEvenNums = X / 2 # Stores the count of odd # numbers between 1 to X cntXOddNums = (X + 1) / 2 # Stores the count of even # numbers between 1 to Y cntYEvenNums = Y / 2 # Stores the count of odd # numbers between 1 to Y cntYOddNums = (Y + 1) / 2 # Stores the count of # pairs having even sum cntPairs = ((cntXEvenNums * cntYEvenNums) + (cntXOddNums * cntYOddNums)) # Returns the count of pairs # having even sum return cntPairs# Driver codeX = 2Y = 3print(cntEvenSumPairs(X, Y))# This code is contributed by hemanth gadarla |
C#
// C# program to implement// the above approachusing System;class GFG{// Function to count maximum even// sum pairs in the given rangestatic long cntEvenSumPairs(long X, long Y){ // Stores the count of even // numbers between 1 to X long cntXEvenNums = X / 2; // Stores the count of odd // numbers between 1 to X long cntXOddNums = (X + 1) / 2; // Stores the count of even // numbers between 1 to Y long cntYEvenNums = Y / 2; // Stores the count of odd // numbers between 1 to Y long cntYOddNums = (Y + 1) / 2; // Stores the count of // pairs having even sum long cntPairs = (cntXEvenNums * cntYEvenNums) + (cntXOddNums * cntYOddNums); // Returns the count of pairs // having even sum return cntPairs;}// Driver Codepublic static void Main(string[] args){ long X = 2; long Y = 3; Console.WriteLine(cntEvenSumPairs(X, Y));}}// This code is contributed by chitranayal |
Javascript
<script>// Javascript program to implement// the above approach // Function to count maximum even // sum pairs in the given range function cntEvenSumPairs(X , Y) { // Stores the count of even // numbers between 1 to X var cntXEvenNums = parseInt(X / 2); // Stores the count of odd // numbers between 1 to X var cntXOddNums = parseInt((X + 1) / 2); // Stores the count of even // numbers between 1 to Y var cntYEvenNums = parseInt(Y / 2); // Stores the count of odd // numbers between 1 to Y var cntYOddNums =parseInt( (Y + 1) / 2); // Stores the count of // pairs having even sum var cntPairs = (cntXEvenNums * cntYEvenNums) + (cntXOddNums * cntYOddNums); // Returns the count of pairs // having even sum return cntPairs; } // Driver Code var X = 2; var Y = 3; document.write(cntEvenSumPairs(X, Y));// This code contributed by Rajput-Ji </script> |
3
Time Complexity : O(1)
Auxiliary Space : O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
