# Check divisibility by 7

Given a number, check if it is divisible by 7. You are not allowed to use modulo operator, floating point arithmetic is also not allowed.

A simple method is repeated subtraction. Following is another interesting method.

Divisibility by 7 can be checked by a recursive method. A number of the form 10a + b is divisible by 7 if and only if a – 2b is divisible by 7. In other words, subtract twice the last digit from the number formed by the remaining digits. Continue to do this until a small number.

Example: the number 371: 37 – (2×1) = 37 – 2 = 35; 3 – (2 × 5) = 3 – 10 = -7; thus, since -7 is divisible by 7, 371 is divisible by 7.

Following is the implementation of the above method

## C/C++

```// A Program to check whether a number is divisible by 7
#include <stdio.h>

int isDivisibleBy7( int num )
{
// If number is negative, make it positive
if( num < 0 )
return isDivisibleBy7( -num );

// Base cases
if( num == 0 || num == 7 )
return 1;
if( num < 10 )
return 0;

// Recur for ( num / 10 - 2 * num % 10 )
return isDivisibleBy7( num / 10 - 2 * ( num - num / 10 * 10 ) );
}

// Driver program to test above function
int main()
{
int num = 616;
if( isDivisibleBy7(num ) )
printf( "Divisible" );
else
printf( "Not Divisible" );
return 0;
}
```

## Java

```// Java program to check whether a number is divisible by 7
import java.io.*;

class GFG
{
// Function to check whether a number is divisible by 7
static boolean isDivisibleBy7(int num)
{
// If number is negative, make it positive
if( num < 0 )
return isDivisibleBy7( -num );

// Base cases
if( num == 0 || num == 7 )
return true;
if( num < 10 )
return false;

// Recur for ( num / 10 - 2 * num % 10 )
return isDivisibleBy7( num / 10 - 2 * ( num - num / 10 * 10 ) );
}

// Driver program
public static void main (String[] args)
{
int num = 616;
if(isDivisibleBy7(num))
System.out.println("Divisible");
else
System.out.println("Not Divisible");
}
}

// Contributed by Pramod Kumar
```

## Python

```# Python program to check whether a number is divisible by 7

# Function to check whether a number is divisible by 7
def isDivisibleBy7(num) :

# If number is negative, make it positive
if num < 0 :
return isDivisibleBy7( -num )

# Base cases
if( num == 0 or num == 7 ) :
return True

if( num < 10 ) :
return False

# Recur for ( num / 10 - 2 * num % 10 )
return isDivisibleBy7( num / 10 - 2 * ( num - num / 10 * 10 ) )

# Driver program
num = 616
if(isDivisibleBy7(num)) :
print "Divisible"
else :
print "Not Divisible"

# This code is contributed by Nikita Tiwari
```