Check if a number is divisible by 47 or not

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

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 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"``<

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.  `

Output:

```Yes
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.