Most frequent factor in a range of integers

You are given a range of numbers, from lower number to higher number (both inclusive). Consider all the factors of these numbers except 1, the task is to find the factor which appears the maximum number of times. If more than one number have maximum frequency than print anyone of them.

Examples:

Input : lower=10 higher=14
Output : The factor with maximum frequency is 2.

Input : lower=11 higher=11
Output : The factor with maximum frequency is 11.


Explanation:
If we have a range of numbers, say 10 to 14. Then the factors other than 1 will be:

  • 10 => 2, 5, 10
  • 11 => 11
  • 12 => 2, 3, 4, 6, 12
  • 13 => 13
  • 14 => 2, 7, 14
  • In the above case, frequency(2)= 3, which is maximum on comparing with other factors.

    Approach:
    1. If lower = higher, then all factors will have frequency 1. So we can print any number which is factor, since every number is a factor of itself so we print the same number.
    2. Otherwise, we print ‘2’ as it will always be true for a range of numbers.

    C++

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // CPP program to find most common factor
    // in a range.
    #include <bits/stdc++.h>
    using namespace std;
      
    int mostCommon(int lower, int higher)
    {
        // Check whether lower number 
        // and higher number are same
        if (lower == higher) 
            return lower;
        else 
            return 2;
    }
      
    // Driver Code
    int main()
    {
        int lower = 10; // Lower number
        int higher = 20; // Higher number
      
        printf("The most frequent factor %d\n"
                   mostCommon(lower, higher));
        return 0;
    }

    chevron_right

    
    

    Java

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Java program to find most common factor 
    // in a range. 
      
    public class GfG {
      
        public static int mostCommon(int lower, int higher) 
        
            // Check whether lower number  
            // and higher number are same 
            if (lower == higher)  
                return lower; 
            else 
                return 2
        
      
        // Driver code
        public static void main(String []args) {
              
            int lower = 10; // Lower number 
            int higher = 20; // Higher number 
            System.out.println("The most frequent factor "
                                        mostCommon(lower, higher));
        }
    }
      
    // This code is contributed by Rituraj Jain

    chevron_right

    
    

    Python 3

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Python 3 program to find most 
    # common factor in a range.
    def mostCommon( lower, higher):
      
        # Check whether lower number 
        # and higher number are same
        if (lower == higher): 
            return lower
        else:
            return 2
      
    # Driver Code
    lower = 10 # Lower number
    higher = 20 # Higher number
      
    print("The most frequent factor"
           mostCommon(lower, higher))
      
    # This code is contributed by ash264

    chevron_right

    
    

    C#

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // C# program to find most common factor
    // in a range.
    using System;
      
    class GFG
    {
    static int mostCommon(int lower, int higher)
    {
        // Check whether lower number 
        // and higher number are same
        if (lower == higher) 
            return lower;
        else
            return 2;
    }
      
    // Driver Code
    public static void Main()
    {
        int lower = 10; // Lower number
        int higher = 20; // Higher number
      
        Console.WriteLine("The most frequent factor " +
                           mostCommon(lower, higher));
    }
    }
      
    // This code is contributed
    // by Akanksha Rai

    chevron_right

    
    

    PHP

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
    // PHP program to find most common 
    // factor in a range.
      
    function mostCommon($lower, $higher)
    {
        // Check whether lower number 
        // and higher number are same
        if ($lower == $higher
            return $lower;
        else
            return 2;
    }
      
    // Driver Code
    $lower = 10; // Lower number
    $higher = 20; // Higher number
      
    echo "The most frequent factor "
        mostCommon($lower, $higher) . "\n";
      
    // This code is contributed
    // by Akanksha Rai
    ?>

    chevron_right

    
    

    Output:

    The most frequent factor 2
    

    Time Complexity: O(1)



    My Personal Notes arrow_drop_up

    Check out this Author's contributed articles.

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.