Open In App

Check if a number is divisible by 47 or not

Last Updated : 22 Jul, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a number N, the task is to check whether the number is divisible by 47 or not. 
Examples: 
 

Input: N = 1645 
Output: yes 
Explanation: 
47 * 35 = 1645
Input: N = 4606 
Output: yes 
Explanation: 
47 * 98 = 4606 
 


 


Approach: The divisibility test of 47 is: 
 

  1. Extract the last digit.
  2. Subtract 14 * last digit from the remaining number obtained after removing the last digit.
  3. Repeat the above steps until a two-digit number, or zero, is obtained.
  4. If the two-digit number is divisible by 47, or it is 0, then the original number is also divisible by 47.


For example: 
 

If N = 59173

Step 1:
  N = 59173
  Last digit = 3
  Remaining number = 5917
  Subtracting 14 times last digit
  Resultant number = 5917 - 14*3 = 5875

Step 2:
  N = 5875
  Last digit = 5
  Remaining number = 587
  Subtracting 14 times last digit
  Resultant number = 587 - 14*5 = 517

Step 3:
  N = 517
  Last digit = 7
  Remaining number = 51
  Subtracting 14 times last digit
  Resultant number = 51 - 14*7 = -47

Step 4:
  N = -47
  Since N is a two-digit number,
  and -47 is divisible by 47

Therefore N = 59173 is also divisible by 47


Below is the implementation of the above approach: 
 

C++
// C++ program to check whether a number
// is divisible by 47 or not
#include<bits/stdc++.h>
#include<stdlib.h>

using namespace std;

// Function to check if the number is  divisible by 47 or not 
bool isDivisible(int n)  
{
    int d;
    // While there are at least two digits 
    while (n / 100) 
    {
 
        // Extracting the last 
        d = n % 10;
 
        // Truncating the number 
        n /= 10;
 
        // Subtracting fourteen times the last 
        // digit to the remaining number 
        n = abs(n-(d * 14));
    }
    // Finally return if the two-digit
    // number is divisible by 47 or not
    return (n % 47 == 0) ;
}

// Driver Code 
int main() {
    int N = 59173;
 
    if (isDivisible(N)) 
        cout<<"Yes"<<endl ;
    else 
        cout<<"No"<<endl ;
   
     return 0;     
}    

// This code is contributed by ANKITKUMAR34
Java
// Java program to check whether a number
// is divisible by 47 or not
import java.util.*;

class GFG{
 
// Function to check if the number is  divisible by 47 or not 
static boolean isDivisible(int n)  
{
    int d;
    
    // While there are at least two digits 
    while ((n / 100) > 0) 
    {
  
        // Extracting the last 
        d = n % 10;
  
        // Truncating the number 
        n /= 10;
  
        // Subtracting fourteen times the last 
        // digit to the remaining number 
        n = Math.abs(n - (d * 14));
    }

    // Finally return if the two-digit
    // number is divisible by 47 or not
    return (n % 47 == 0) ;
}
 
// Driver Code 
public static void main(String[] args) {
    int N = 59173;
  
    if (isDivisible(N)) 
        System.out.print("Yes") ;
    else
        System.out.print("No");
    
 }     
}    

// This code is contributed by PrinciRaj1992
Python 3
# Python program to check if a number
# is divisible by 47 or not

# Function to check if the number is 
# divisible by 47 or not 
def isDivisible(n) : 
 
    # While there are at least two digits 
    while n // 100 : 
 
        # Extracting the last 
        d = n % 10
 
        # Truncating the number 
        n //= 10
 
        # Subtracting fourteen times the last 
        # digit to the remaining number 
        n = abs(n- (d * 14))
 
    # Finally return if the two-digit
    # number is divisible by 43 or not
    return (n % 47 == 0) 
 
# Driver Code 
if __name__ == "__main__" : 
     
    n = 59173

    if (isDivisible(n)) : 
        print("Yes") 
    else : 
        print("No") 
C#
// C# program to check whether a number
// is divisible by 47 or not
using System; 
        
class GFG 
{ 
    
// Function to check if the number is divisible by 47 or not 
static bool isDivisible(int n) 
{
    int d;
    
    // While there are at least two digits 
    while (n / 100 > 0) 
    {
    
        // Extracting the last 
        d = n % 10;
    
        // Truncating the number 
        n /= 10;
    
        // Subtracting fourteen times the last 
        // digit to the remaining number 
        n = Math.Abs(n - (d * 14));
    }
    
    // Finally return if the two-digit
    // number is divisible by 47 or not
    return (n % 47 == 0);
}
    
// Driver Code 
public static void Main() 
{ 
    int N = 59173;
    
    if (isDivisible(N)) 
        Console.WriteLine("Yes");
    else
        Console.WriteLine("No");
} 
} 

// This code is contributed by mohit kumar 29. 
JavaScript
<script>
// Javascript program to check whether a number
// is divisible by 47 or not

// Function to check if the number is  divisible by 47 or not 
function isDivisible(n)  
{
    let d;
      
    // While there are at least two digits 
    while (Math.floor(n / 100) > 0) 
    {
    
        // Extracting the last 
        d = n % 10;
    
        // Truncating the number 
        n = Math.floor(n / 10);
    
        // Subtracting fourteen times the last 
        // digit to the remaining number 
        n = Math.abs(n - (d * 14));
    }
  
    // Finally return if the two-digit
    // number is divisible by 47 or not
    return (n % 47 == 0) ;
}

// Driver Code
    
    let N = 59173;
    
    if (isDivisible(N) != 0) 
        document.write("Yes") ;
    else
        document.write("No");

// This code is contributed by sanjoy_62.
</script>
PHP
<?php

  // PHP program to check whether a number
  // is divisible by 47 or not

  // Function to check if the number is divisible by 47 or not 
  function isDivisible($n)
{

  // While there are at least two digits 
  while (($n / 100) <=0)
  {

    // Extracting the last 
    $d = $n % 10;

    // Truncating the number 
    $n = ($n/10);

    // Subtracting seven times the last 
    // digit to the remaining number 
    $n = Math.abs($n - ($d * 14));
  }

  // Finally return if the two-digit
  // number is divisible by 71 or not
  return ($n % 47 == 0) ;
}

// Driver Code 
$N = 1645;
if (isDivisible($N)) {
  echo("Yes") ; 
}
else{
  echo("No");
}

// This code is contributed by ksrikanth0498

?>

Output: 
Yes

 

Time Complexity: O(log10N)

Auxiliary Space: O(1)


Next Article

Similar Reads