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 , As we know every number is divisible by some prime number except 1. Therefore if we find the difference of the number 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 using namespace std; // Function to find if// it is possible to make// A equal to Bbool isPossible(int A, int B){    return (A - B > 1);} // Driver Codeint 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 bclass GFG{ // Function to find if// it is possible to make// A equal to Bstatic boolean isPossible(int A, int B){    return (A - B > 1);} // Driver Codepublic 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 Bdef isPossible(A, B):     return (A - B > 1); # Driver CodeA = 10; B = 4;     # Function Callif (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 busing System;class GFG{ // Function to find if// it is possible to make// A equal to Bstatic bool isPossible(int A, int B){    return (A - B > 1);} // Driver Codepublic 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


Output:
Yes

My Personal Notes arrow_drop_up