Open In App

Check if the number is divisible 43 or not

Improve
Improve
Like Article
Like
Save
Share
Report

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++




// 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


Java




// 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


Python 3




# 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")


C#




// 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


Javascript




<script>
//javascript program to check whether a number
// is divisible by 43 or not
 
// Function to check if the number is divisible by 43 or not
function isDivisible(n)
{
    let d;
    // While there are at least two digits
    while(parseInt(n/100) > 0)
    {
 
        // Extracting the last
        d = n % 10;
 
        // Truncating the number
    n = parseInt(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
    let N = 2795;
 
    if (isDivisible(N))
        document.write("Yes");
    else
        document.write("No");
 
// This code is contributed by vaibhavrabadiya117.
</script>


Output: 

Yes

 

Time Complexity: O(log10N)

Auxiliary Space: O(1)



Last Updated : 24 Nov, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads