Given two numbers A and B. The task is to find the smallest positive integer greater than or equal to 1 such that the sum of all three numbers become a prime number.
Examples:
Input: A = 2, B = 3
Output: 2
Explanation:
The third number is 2 because if we add all three number the
sum obtained is 7 which is a prime number.
Input: A = 5, B = 3
Output: 3
Approach:
- First of all store the sum of given 2 number in sum variable.
- Now, check if bitwise and (&) of sum and 1 is equal to 1 or not (checking if the number is odd or not).
- If it is equal to 1 then assign 2 to variable temp and go to step 4.
- Else check sum value of sum and temp variable whether it is prime number or not. If prime, then print the value of temp variable else add 2 to temp variable until it is less than a prime value.
Below is the implementation of the above approach:
C++
// C++ implementation of the above approach#include <bits/stdc++.h>using namespace std;// Function that will check// whether number is prime or notbool prime(int n){ for (int i = 2; i * i <= n; i++) { if (n % i == 0) return false; } return true;}// Function to print the 3rd numbervoid thirdNumber(int a, int b){ int sum = 0, temp = 0; sum = a + b; temp = 1; // If the sum is odd if (sum & 1) { temp = 2; } // If sum is not prime while (!prime(sum + temp)) { temp += 2; } cout << temp;}// Driver codeint main(){ int a = 3, b = 5; thirdNumber(a, b); return 0;} |
Java
// Java implementation of the approachimport java.util.*; class GFG{ // Function that will check// whether number is prime or notstatic boolean prime(int n){ for (int i = 2; i * i <= n; i++) { if (n % i == 0) return false; } return true;}// Function to print the 3rd numberstatic void thirdNumber(int a, int b){ int sum = 0, temp = 0; sum = a + b; temp = 1; // If the sum is odd if (sum == 0) { temp = 2; } // If sum is not prime while (!prime(sum + temp)) { temp += 2; } System.out.print(temp);}// Driver codestatic public void main (String []arr){ int a = 3, b = 5; thirdNumber(a, b);}}// This code is contributed by 29AjayKumar |
Python3
# Python3 implementation of the above approach# Function that will check# whether number is prime or notdef prime(n): for i in range(2, n + 1): if i * i > n + 1: break if (n % i == 0): return False return True# Function to print the 3rd numberdef thirdNumber(a, b): summ = 0 temp = 0 summ = a + b temp = 1 #If the summ is odd if (summ & 1): temp = 2 #If summ is not prime while (prime(summ + temp) == False): temp += 2 print(temp)# Driver codea = 3b = 5thirdNumber(a, b)# This code is contributed by Mohit Kumar |
C#
// C# implementation of the above approachusing System;class GFG{ // Function that will check// whether number is prime or notstatic bool prime(int n){ for (int i = 2; i * i <= n; i++) { if (n % i == 0) return false; } return true;}// Function to print the 3rd numberstatic void thirdNumber(int a, int b){ int sum = 0, temp = 0; sum = a + b; temp = 1; // If the sum is odd if (sum == 0) { temp = 2; } // If sum is not prime while (!prime(sum + temp)) { temp += 2; } Console.Write (temp);}// Driver codestatic public void Main (){ int a = 3, b = 5; thirdNumber(a, b);}}// This code is contributed by Sachin. |
Javascript
<script> // Javascript implementation of the above approach // Function that will check // whether number is prime or not function prime(n) { for (let i = 2; i * i <= n; i++) { if (n % i == 0) return false; } return true; } // Function to print the 3rd number function thirdNumber(a, b) { let sum = 0, temp = 0; sum = a + b; temp = 1; // If the sum is odd if ((sum & 1) != 0) { temp = 2; } // If sum is not prime while (!prime(sum + temp)) { temp += 2; } document.write(temp); } let a = 3, b = 5; thirdNumber(a, b); // This code is contributed by divyeshrabadiya07.</script> |
3
Time Complexity: O(sqrt(n))
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Read More on on that Topic: geeksforgeeks.org/find-third-number-such-that-sum-of-all-three-number-becomes-prime/ […]