# Check if A can be converted to B by reducing with a Prime number

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 = 4Output:YESExplanation:

Let P = 2 and after subtracting it

three times from AInput:A = 41, B = 40Output: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 Courseat a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please referComplete 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 <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