# 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

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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 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

 ``
Output:
Yes

My Personal Notes arrow_drop_up