Skip to content
Related Articles
Open in App
Not now

Related Articles

Find pair with maximum GCD for integers in range 2 to N

Improve Article
Save Article
  • Last Updated : 25 Mar, 2022
Improve Article
Save Article

Given a number N, the task is to find a pair of integers in the range [2, N] with maximum GCD.
Examples: 

Input: N = 10 
Output:
Explanation: 
Maximum possible GCD between all possible pairs is 5 which occurs for the pair (10, 5).
Input: N = 13 
Output:
Explanation: 
Maximum possible GCD between all possible pairs is 6 which occurs for the pair (12, 6). 

 

Approach: 
Follow the steps below to solve the problem: 

  • If N is even, return the pair {N, N / 2}

Illustration: 
If N = 10, Maximum possible GCD for any pair is 5( for the pair {5, 10}).
If N = 20, Maximum possible GCD for any pair is 10( for the pair {20, 10}). 
 

  • If N is odd, then return the pair{N – 1, (N – 1) / 2}.  

Illustration: 
If N = 11, Maximum possible GCD for any pair is 5( for the pair {5, 10}).
If N = 21, Maximum possible GCD for any pair is 10( for the pair {20, 10}). 
 

Below is the implementation of the above approach: 

C++




// C++ Program to find a pair of
// integers less than or equal
// to N such that their GCD
// is maximum
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the required
// pair whose GCD is maximum
void solve(int N)
{
    // If N is even
    if (N % 2 == 0) {
 
        cout << N / 2 << " "
             << N << endl;
    }
    // If N is odd
    else {
        cout << (N - 1) / 2 << " "
             << (N - 1) << endl;
    }
}
 
// Driver Code
int main()
{
    int N = 10;
    solve(N);
    return 0;
}

Java




// Java program to find a pair of
// integers less than or equal
// to N such that their GCD
// is maximum
 
class GFG{
 
// Function to find the required
// pair whose GCD is maximum
static void solve(int N)
{
     
    // If N is even
    if (N % 2 == 0)
    {
        System.out.print(N / 2 + " " +
                         N + "\n");
    }
     
    // If N is odd
    else
    {
        System.out.print((N - 1) / 2 + " " +
                         (N - 1) + "\n");
    }
}
 
// Driver Code
public static void main(String[] args)
{
    int N = 10;
     
    solve(N);
}
}
 
// This code is contributed by Amit Katiyar

Python3




# Python3 Program to find a pair 
# of integers less than or equal
# to N such that their GCD
# is maximum
 
# Function to find the required
# pair whose GCD is maximum
def solve(N):
     
    # If N is even
    if (N % 2 == 0):
        print(N // 2, N)
         
    # If N is odd
    else :
        print((N - 1) // 2, (N - 1))
     
# Driver Code
N = 10
solve(N)
 
# This code is contributed by divyamohan123

C#




// C# program to find a pair of
// integers less than or equal
// to N such that their GCD
// is maximum
using System;
class GFG{
 
// Function to find the required
// pair whose GCD is maximum
static void solve(int N)
{
     
    // If N is even
    if (N % 2 == 0)
    {
        Console.Write(N / 2 + " " +
                      N + "\n");
    }
     
    // If N is odd
    else
    {
        Console.Write((N - 1) / 2 + " " +
                      (N - 1) + "\n");
    }
}
 
// Driver Code
public static void Main(String[] args)
{
    int N = 10;
     
    solve(N);
}
}
 
// This code is contributed by shivanisinghss2110

Javascript




<script>
 
// JavaScript program to find a pair of
// integers less than or equal
// to N such that their GCD
// is maximum
 
    // Function to find the required
    // pair whose GCD is maximum
    function solve(N) {
 
        // If N is even
        if (N % 2 == 0) {
            document.write(N / 2 + " " + N + "<br/>");
        }
 
        // If N is odd
        else {
            document.write((N - 1) / 2 + " " + (N - 1) + "<br/>");
        }
    }
 
    // Driver Code
     
        var N = 10;
 
        solve(N);
 
// This code is contributed by todaysgaurav
 
</script>

Output: 

5 10

 

Time Complexity: O(1) 
Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!