Given a number N, the task is to check whether the product of digits at even places of a number is divisible by K. If it is divisible, output “YES” otherwise output “NO”.
Examples:
Input: N = 5478, K = 5 Output: YES Since, 5 * 7 = 35, which is divisible by 5 Input: N = 19270, K = 2 Output: NO
Approach:
- Find product of digits at even places from right to left.
- Then check the divisibility by taking its modulo with ‘K’
- If modulo gives 0, output YES, otherwise output NO
Below is the implementation of the above approach:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std;
// below function checks whether // product of digits at even places // is divisible by K bool productDivisible( int n, int k)
{ int product = 1, position = 1;
while (n > 0) {
// if position is even
if (position % 2 == 0)
product *= n % 10;
n = n / 10;
position++;
}
if (product % k == 0)
return true ;
return false ;
} // Driver code int main()
{ int n = 321922;
int k = 3;
if (productDivisible(n, k))
cout << "YES" ;
else
cout << "NO" ;
return 0;
} |
Java
// JAVA implementation of the above approach class GFG {
// below function checks whether // product of digits at even places // is divisible by K static boolean productDivisible( int n, int k) {
int product = 1 , position = 1 ;
while (n > 0 ) {
// if position is even
if (position % 2 == 0 ) {
product *= n % 10 ;
}
n = n / 10 ;
position++;
}
if (product % k == 0 ) {
return true ;
}
return false ;
}
// Driver code public static void main(String[] args) {
int n = 321922 ;
int k = 3 ;
if (productDivisible(n, k)) {
System.out.println( "YES" );
} else {
System.out.println( "NO" );
}
}
} |
Python3
# Python3 implementation of the # above approach # below function checks whether # product of digits at even places # is divisible by K def productDivisible(n, k):
product = 1
position = 1
while n > 0 :
# if position is even
if position % 2 = = 0 :
product * = n % 10
n = n / 10
position + = 1
if product % k = = 0 :
return True
return False
# Driver code n = 321922
k = 3
if productDivisible(n, k) = = True :
print ( "YES" )
else :
print ( "NO" )
# This code is contributed # by Shrikant13 |
C#
// C# implementation of the above approach using System;
class GFG
{ // below function checks whether // product of digits at even places // is divisible by K static bool productDivisible( int n, int k)
{ int product = 1, position = 1;
while (n > 0)
{
// if position is even
if (position % 2 == 0)
product *= n % 10;
n = n / 10;
position++;
}
if (product % k == 0)
return true ;
return false ;
} // Driver code public static void Main()
{ int n = 321922;
int k = 3;
if (productDivisible(n, k))
Console.WriteLine( "YES" );
else
Console.WriteLine( "NO" );
} } // This code is contributed // by Akanksha Rai(Abby_akku) |
PHP
<?php // PHP implementation of the // above approach // Below function checks whether // product of digits at even places // is divisible by K function productDivisible( $n , $k )
{ $product = 1;
$position = 1;
while ( $n > 0)
{
// if position is even
if ( $position % 2 == 0)
$product *= $n % 10;
$n = (int)( $n / 10);
$position ++;
}
if ( $product % $k == 0)
return true;
return false;
} // Driver code $n = 321922;
$k = 3;
if (productDivisible( $n , $k ))
echo "YES" ;
else echo "NO" ;
// This code is contributed by mits ?> |
Javascript
<script> // Javascript implementation of the above approach // below function checks whether // product of digits at even places // is divisible by K function productDivisible(n, k)
{ var product = 1, position = 1;
while (n > 0) {
// if position is even
if (position % 2 == 0)
product *= n % 10;
n =parseInt(n / 10);
position++;
}
if (product % k == 0)
return true ;
return false ;
} // Driver code var n = 321922;
var k = 3;
if (productDivisible(n, k))
document.write( "YES" );
else document.write( "NO" );
</script> |
Output:
YES
Time Complexity: O(log10n)
Auxiliary Space: O(1)
Method #2:Using string() method:
- Convert the integer to string then traverse the string and Multiply all even indices by storing it in the product.
- If the product is divisible by k then return True else False.
Below is the implementation:
C++
// C++ implementation of the // above approach #include <bits/stdc++.h> using namespace std;
// Function checks whether // product of digits at even places // is divisible by K bool productDivisible( int n, int k)
{ int product = 1;
// Converting integer to string
string num = to_string(n);
// Traversing the string
for ( int i = 0; i < num.length(); i++) {
if (i % 2 == 0) {
product = product * (num[i] - '0' );
}
}
if (product % k == 0) {
return true ;
}
else {
return false ;
}
} // Driver code int main()
{ int n = 321922;
int k = 3;
if (productDivisible(n, k)) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
}
} // This code is contributed by phasing17 |
Java
// Java implementation of the // above approach import java.util.*;
class GFG {
// Function checks whether
// product of digits at even places
// is divisible by K
static boolean productDivisible( int n, int k)
{
int product = 1 ;
// Converting integer to string
String num = String.valueOf(n);
// Traversing the string
for ( int i = 0 ; i < num.length(); i++) {
if (i % 2 == 0 ) {
product = product * (num.charAt(i) - '0' );
}
}
if (product % k == 0 ) {
return true ;
}
else {
return false ;
}
}
// Driver code
public static void main(String[] args)
{
int n = 321922 ;
int k = 3 ;
if (productDivisible(n, k)) {
System.out.println( "YES" );
}
else {
System.out.println( "NO" );
}
}
} // This code is contributed by phasing17 |
Python3
# Python3 implementation of the # above approach # Function checks whether # product of digits at even places # is divisible by K def productDivisible(n, k):
product = 1
# Converting integer to string
num = str (n)
# Traversing the string
for i in range ( len (num)):
if (i % 2 = = 0 ):
product = product * int (num[i])
if product % k = = 0 :
return True
return False
# Driver code n = 321922
k = 3
if productDivisible(n, k) = = True :
print ( "YES" )
else :
print ( "NO" )
# This code is contributed by vikkycirus |
C#
// C# implementation of the // above approach using System;
using System.Collections.Generic;
class GFG
{ // Function checks whether
// product of digits at even places
// is divisible by K
static bool productDivisible( int n, int k)
{
int product = 1;
// Converting integer to string
string num = Convert.ToString(n);
// Traversing the string
for ( int i = 0; i < num.Length; i++) {
if (i % 2 == 0) {
product = product * (num[i] - '0' );
}
}
if (product % k == 0) {
return true ;
}
else {
return false ;
}
}
// Driver code
public static void Main( string [] args)
{
int n = 321922;
int k = 3;
if (productDivisible(n, k)) {
Console.WriteLine( "YES" );
}
else {
Console.WriteLine( "NO" );
}
}
} // This code is contributed by phasing17 |
Javascript
<script> // JavaScript implementation of the // above approach // Function checks whether // product of digits at even places // is divisible by K function productDivisible(n, k){
var product = 1 ;
// Converting integer to string
var num = n.toString()
// Traversing the string
for (let i = 0 ; i < num.length ; i++){
if (i % 2 == 0){
product = product * Number(num[i])
}
}
if (product % k == 0){
return true
}
else {
return false ;
}
} // Driver code var n = 321922
var k = 3
if (productDivisible(n, k)){
document.write( "YES" )
} else {
document.write( "NO" )
} </script> |
Output:
YES