Check if the first and last digit of number N is prime and their sum is less than K
Given a number N, the task is to check if its first and last digit is a prime number and their sum is less than K, or not. If it is, then print Yes, else print No.
Examples:
Input: N = 322223, K = 10
Output: YesInput: N = 62531561, K = 15
Output: No
Approach:
- Check if the first and last digit of N is prime or not.
- If they are prime, then check if they are less than K or not
- If they are less than K as well, print Yes.
- In any other case, print No.
Below is the implementation of the above approach:
C++
// C++ program to check // if the first and last digit of number N // is prime and their sum is less than K #include <bits/stdc++.h> using namespace std; // Get the First digit of the number int first( int n) { int a = n; int c = 1; while (a != 0) { a /= 10; c = c * 10; } c = c / 10; int fi = n / c; return fi; } // Check if the digit is prime or not bool prime( int n) { switch (n) { case 2: return true ; case 3: return true ; case 5: return true ; case 7: return true ; default : return false ; } } // Function to Check if the first // and last digit of number N is prime // and their sum is less than K void check( int n, int k) { // Last digit of the number int l = n % 10; // First digit of number int f = first(n); // Check if these are prime bool lp = prime(l); bool fp = prime(f); // If they are prime if (lp && fp) { // Check if they are less than k or not if (l + f < k) cout << "Yes\n" ; else cout << "No\n" ; } else { cout << "No\n" ; } } // Driver code int main() { // Test case 1 int n = 322223; int k = 10; check(n, k); // Test case 2 n = 62531561; k = 15; check(n, k); return 0; } // This code is contributed by PrinciRaj1992 |
Java
// Java program to check // if the first and last digit of number N // is prime and their sum is less than K import java.lang.*; public class crazy_number { // Get the First digit of the number public static int first( int n) { int a = n; int c = 1 ; while (a != 0 ) { a /= 10 ; c = c * 10 ; } c = c / 10 ; int fi = n / c; return fi; } // Check if the digit is prime or not public static boolean prime( int n) { switch (n) { case 2 : return true ; case 3 : return true ; case 5 : return true ; case 7 : return true ; default : return false ; } } // Function to Check if the first // and last digit of number N is prime // and their sum is less than K public static void check( int n, int k) { // Last digit of the number int l = n % 10 ; // First digit of number int f = first(n); // Check if these are prime boolean lp = prime(l); boolean fp = prime(f); // If they are prime if (lp && fp) { // Check if they are less than k or not if (l + f < k) System.out.println( "Yes" ); else System.out.println( "No" ); } else { System.out.println( "No" ); } } // Driver code public static void main(String args[]) { // Test case 1 int n = 322223 ; int k = 10 ; check(n, k); // Test case 2 n = 62531561 ; k = 15 ; check(n, k); } } |
Python3
# Python3 program to check if # the first and last digit of number N # is prime and their sum is less than K # Get the First digit of the number def first(n): a = n c = 1 while (a ! = 0 ): a / / = 10 c = c * 10 c = c / / 10 fi = n / / c return fi # Check if the digit is prime or not def prime(n): if n in [ 2 , 3 , 5 , 7 ]: return True else : return False # Function to Check if the first # and last digit of number N is prime # and their sum is less than K def check(n, k): # Last digit of the number l = n % 10 # First digit of number f = first(n) # Check if these are prime lp = prime(l) fp = prime(f) # If they are prime if (lp and fp): # Check if they are less than k or not if (l + f < k): print ( "Yes" ) else : print ( "No" ) else : print ( "No" ) # Driver code # Test case 1 n = 322223 k = 10 check(n, k) # Test case 2 n = 62531561 k = 15 check(n, k) # This code is contributed by Mohit kumar |
C#
// C# program to check // if the first and last digit of number N // is prime and their sum is less than K using System; class GFG { // Get the First digit of the number public static int first( int n) { int a = n; int c = 1; while (a != 0) { a /= 10; c = c * 10; } c = c / 10; int fi = n / c; return fi; } // Check if the digit is prime or not public static Boolean prime( int n) { switch (n) { case 2: return true ; case 3: return true ; case 5: return true ; case 7: return true ; default : return false ; } } // Function to Check if the first // and last digit of number N is prime // and their sum is less than K public static void check( int n, int k) { // Last digit of the number int l = n % 10; // First digit of number int f = first(n); // Check if these are prime Boolean lp = prime(l); Boolean fp = prime(f); // If they are prime if (lp && fp) { // Check if they are less than k or not if (l + f < k) Console.WriteLine( "Yes" ); else Console.WriteLine( "No" ); } else { Console.WriteLine( "No" ); } } // Driver code public static void Main(String []args) { // Test case 1 int n = 322223; int k = 10; check(n, k); // Test case 2 n = 62531561; k = 15; check(n, k); } } // This code is contributed by PrinciRaj1992 |
Javascript
<script> // JavaScript program to check // if the first and // last digit of number N // is prime and their sum // is less than K // Get the First digit // of the number function first(n) { var a = n; var c = 1; while (a != 0) { a = parseInt(a / 10); c = c * 10; } c = c / 10; var fi = parseInt(n / c); return fi; } // Check if the digit is // prime or not function prime(n) { switch (n) { case 2: return true ; case 3: return true ; case 5: return true ; case 7: return true ; default : return false ; } } // Function to Check if the first // and last digit of number N is prime // and their sum is less than K function check(n, k) { // Last digit of the number var l = parseInt(n % 10); // First digit of number var f = first(n); // Check if these are prime var lp = prime(l); var fp = prime(f); // If they are prime if (lp && fp) { // Check if they are less // than k or not if (l + f < k) document.write( "Yes <br>" ); else document.write( "No <br>" ); } else { document.write( "No <br>" ); } } // Driver code // Test case 1 var n = 322223; var k = 10; check(n, k); // Test case 2 n = 62531561; k = 15; check(n, k); </script> |
Output:
Yes No
Time Complexity: O(log N)
Auxiliary Space: O(1), As constant extra space is used