Check if the number is divisible 43 or not

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

Examples:

Input: N = 2795
Output: yes
Explanation:
43 * 65 = 2795

Input: N = 11094
Output: yes
Explanation:
43 * 258 = 11094

Approach: The divisibility test of 43 is:



  1. Extract the last digit.
  2. Add 13 * 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 43, or it is 0, then the original number is also divisible by 43.

For example:

If N = 11739

Step 1:
  N = 11739
  Last digit = 9
  Remaining number = 1173
  Adding 13 times last digit
  Resultant number = 1173 + 13*9 = 1290

Step 2:
  N = 1290
  Since 129 is divisible by 43 as 43 * 3 = 129

Therefore N = 11739 is also divisible by 43

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to check whether a number
// is divisible by 43 or not
  
#include<bits/stdc++.h>
#include<stdlib.h>
  
using namespace std;
// Function to check if the number is  divisible by 43 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;
   
        // adding thirteen times the last 
        // digit to the remaining number 
        n = abs(n+(d * 13));
    }
    // Finally return if the two-digit
    // number is divisible by 43 or not
    return (n % 43 == 0) ;
}
  
// Driver Code 
int main() {
    int N = 2795;
   
    if (isDivisible(N)) 
        cout<<"Yes"<<endl ;
    else 
        cout<<"No"<<endl ;
     
     return 0;     
}    
  
// This code is contributed by ANKITKUMAR34

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to check whether a number
// is divisible by 43 or not
class GFG
{
  
// Function to check if the number is  divisible by 43 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;
    
        // adding thirteen times the last 
        // digit to the remaining number 
        n = Math.abs(n+(d * 13));
    }
    // Finally return if the two-digit
    // number is divisible by 43 or not
    return (n % 43 == 0) ;
}
   
// Driver Code 
public static void main(String[] args) {
    int N = 2795;
    
    if (isDivisible(N)) 
        System.out.print("Yes");
    else
        System.out.print("No");
      
 }     
}    
   
// This code is contributed by PrinciRaj1992

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to check whether a number
# is divisible by 43 or not
  
# Function to check if the number is 
# divisible by 43 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
  
        # Adding thirteen  times the last 
        # digit to the remaining number 
        n = abs(n+(d * 13))
  
    # Finally return if the two-digit
    # number is divisible by 43 or not
    return (n % 43 == 0
  
# Driver Code 
if __name__ == "__main__"
      
    N = 2795
  
    if (isDivisible(N)): 
        print("Yes"
    else
        print("No"

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to check whether a number
// is divisible by 43 or not
using System; 
          
class GFG 
      
// Function to check if the number is divisible by 43 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;
  
        // adding thirteen times the last 
        // digit to the remaining number 
        n = Math.Abs(n + (d * 13));
    }
      
    // Finally return if the two-digit
    // number is divisible by 43 or not
    return (n % 43 == 0) ;
}
  
// Driver Code 
public static void Main() 
    int N = 2795;
  
    if (isDivisible(N)) 
        Console.WriteLine("Yes"); 
    else
        Console.WriteLine("No");     
}
  
// This code is contributed by AbhiThakur

chevron_right


Output:

Yes

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.




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.