Skip to content
Related Articles

Related Articles

Check if A can be converted to B by reducing with a Prime number
  • Last Updated : 05 Apr, 2021

Given two integers, A and B, the task is to find whether it is possible to make A equal to B if you are allowed to subtract a prime number P any number of times from A.
Examples: 
 

Input: A = 10, B = 4 
Output: YES 
Explanation: 
Let P = 2 and after subtracting it 
three times from A
Input: A = 41, B = 40 
Output: NO 
 

 

Approach: The key observation in the problem is we have to represent the number A as 

A = B + X * P
 



, As we know every number is divisible by some prime number except 1. Therefore if we find the difference of the number 

A - B
 

and if the difference is greater than 1 then both the number can be made equal by subtracting a prime number X times from A.
Below is the implementation of the above approach:
 

 

C++




// C++ implementation to find if
// it is possible to make a equal to b
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find if
// it is possible to make
// A equal to B
bool isPossible(int A, int B)
{
    return (A - B > 1);
}
 
// Driver Code
int main()
{
    int A = 10, B = 4;
     
    // Function Call
    if (isPossible(A, B))
        cout << "Yes";
    else
        cout << "No";
    return 0;
}

Java




// Java implementation to find if
// it is possible to make a equal to b
class GFG{
 
// Function to find if
// it is possible to make
// A equal to B
static boolean isPossible(int A, int B)
{
    return (A - B > 1);
}
 
// Driver Code
public static void main (String[] args)
{
    int A = 10, B = 4;
     
    // Function Call
    if (isPossible(A, B))
        System.out.print("Yes");
    else
        System.out.print("No");
}
}
 
// This code is contributed by shivanisinghss2110

Python3




# Python3 implementation to find if
# it is possible to make a equal to b
 
# Function to find if
# it is possible to make
# A equal to B
def isPossible(A, B):
 
    return (A - B > 1);
 
# Driver Code
A = 10; B = 4;
     
# Function Call
if (isPossible(A, B)):
    print("Yes");
else:
    print("No");
 
# This code is contributed by Code_Mech

C#




// C# implementation to find if
// it is possible to make a equal to b
using System;
class GFG{
 
// Function to find if
// it is possible to make
// A equal to B
static bool isPossible(int A, int B)
{
    return (A - B > 1);
}
 
// Driver Code
public static void Main()
{
    int A = 10, B = 4;
     
    // Function Call
    if (isPossible(A, B))
        Console.Write("Yes");
    else
        Console.Write("No");
}
}
 
// This code is contributed by Code_Mech

Javascript




<script>
 
    // Javascript implementation to find if
    // it is possible to make a equal to b
     
    // Function to find if
    // it is possible to make
    // A equal to B
    function isPossible(A, B)
    {
        return (A - B > 1);
    }
       
    let A = 10, B = 4;
       
    // Function Call
    if (isPossible(A, B))
        document.write("Yes");
    else
        document.write("No");
         
</script>
Output: 
Yes
 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :