Given two positive integers L and R, the task is to find the number of pairs with elements from the range [L, R], whose sums are distinct.
Examples:
Input: L = 2, R = 3
Output: 3
Explanation:
All possible pairs with elements from the range [2, 3] are {(2, 2), (2, 3), (3, 2), (3, 3)}. Since sum of the pairs (2, 3) and (3, 2) are equal, the count of pairs with distinct sum is 3.Input: L = 2, R = 2
Output: 1
Approach: Follow the steps below to solve the problem:
- Initialize a variable, say firstNum, to store the least sum that can be obtained by the pairs, i.e. 2 * L.
- Initialize a variable, say lastNum, to store the highest sum which can be obtained by the pairs, i.e. 2 * R.
- Initialize a variable, say cntPairs, to store the count of pairs having distinct sum, i.e. lastNum – firstNum + 1.
- Finally, print the value of cntPairs.
Below is the implementation of the above approach:
C++
// C++ program for // the above approach #include <bits/stdc++.h> using namespace std;
// Function to count pairs made // up of elements from the range // [L, R] having distinct sum long countPairs( long L, long R)
{ // Stores the least sum which
// can be formed by the pairs
long firstNum = 2 * L;
// Stores the highest sum which
// can be formed by the pairs
long lastNum = 2 * R;
// Stores the count of pairs
// having distinct sum
long Cntpairs = lastNum - firstNum + 1;
// Print the count of pairs
cout << Cntpairs;
} // Driver Code int main()
{ long L = 2, R = 3;
// Function call to count
// the number of pairs
// having distinct sum in
// the range [L, R]
countPairs(L, R);
return 0;
} |
Java
// Java program for // the above approach import java.io.*;
class GFG {
// Function to count pairs made
// up of elements from the range
// [L, R] having distinct sum
static void countPairs( long L, long R)
{
// Stores the least sum which
// can be formed by the pairs
long firstNum = 2 * L;
// Stores the highest sum which
// can be formed by the pairs
long lastNum = 2 * R;
// Stores the count of pairs
// having distinct sum
long Cntpairs = lastNum - firstNum + 1 ;
// Print the count of pairs
System.out.println(Cntpairs);
}
// Driver Code
public static void main(String[] args)
{
long L = 2 , R = 3 ;
// Function call to count
// the number of pairs
// having distinct sum in
// the range [L, R]
countPairs(L, R);
}
} |
Python3
# Python3 program for # the above approach # Function to count pairs made # up of elements from the range # [L, R] having distinct sum def countPairs(L, R):
# Stores the least sum which
# can be formed by the pairs
firstNum = 2 * L
# Stores the highest sum which
# can be formed by the pairs
lastNum = 2 * R
# Stores the count of pairs
# having distinct sum
Cntpairs = lastNum - firstNum + 1
# Print the count of pairs
print (Cntpairs)
# Driver Code if __name__ = = '__main__' :
L,R = 2 , 3
# Function call to count
# the number of pairs
# having distinct sum in
# the range [L, R]
countPairs(L, R)
# This code is contributed by mohit kumar 29.
|
C#
// C# program for // the above approach using System;
public class GFG {
// Function to count pairs made
// up of elements from the range
// [L, R] having distinct sum
static void countPairs( long L, long R)
{
// Stores the least sum which
// can be formed by the pairs
long firstNum = 2 * L;
// Stores the highest sum which
// can be formed by the pairs
long lastNum = 2 * R;
// Stores the count of pairs
// having distinct sum
long Cntpairs = lastNum - firstNum + 1;
Console.WriteLine(Cntpairs);
}
// Driver Code
static public void Main()
{
long L = 2, R = 3;
// Function call to count
// the number of pairs
// having distinct sum in
// the range [L, R]
countPairs(L, R);
}
} |
Javascript
<script> // JavaScript program for // the above approach // Function to count pairs made // up of elements from the range // [L, R] having distinct sum function countPairs(L,R)
{ // Stores the least sum which
// can be formed by the pairs
let firstNum = 2 * L;
// Stores the highest sum which
// can be formed by the pairs
let lastNum = 2 * R;
// Stores the count of pairs
// having distinct sum
let Cntpairs = lastNum - firstNum + 1;
// Print the count of pairs
document.write(Cntpairs+ "<br>" );
} // Driver Code let L = 2, R = 3; // Function call to count // the number of pairs // having distinct sum in // the range [L, R] countPairs(L, R); // This code is contributed by unknown2108 </script> |
Output:
3
Time Complexity: O(1)
Auxiliary Space: O(1)