Check if a number is divisible by 47 or not

• Last Updated : 24 Nov, 2021

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#include using namespace std; // Function to check if the number is  divisible by 47 or notbool 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 Codeint main() {    int N = 59173;      if (isDivisible(N))        cout<<"Yes"<

Java

 // Java program to check whether a number// is divisible by 47 or notimport java.util.*; class GFG{  // Function to check if the number is  divisible by 47 or notstatic 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 Codepublic 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 notdef 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 Codeif __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 notusing System;         class GFG{     // Function to check if the number is divisible by 47 or notstatic 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 Codepublic 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


Output:
Yes

Time Complexity: O(log10N)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up