# Check if a large number is divisible by 4 or not

Last Updated : 13 Sep, 2023

Given a number, the task is to check if a number is divisible by 4 or not. The input number may be large and it may not be possible to store even if we use long long int.
Examples:

`Input : n = 1124Output : YesInput  : n = 1234567589333862Output : NoInput  : n = 363588395960667043875487Output : No`
Recommended Practice

Since input number may be very large, we cannot use n % 4 to check if a number is divisible by 4 or not, especially in languages like C/C++. The idea is based on following fact.

A number is divisible by 4 if number formed by last two digits of it is divisible by 4.

Illustration:

`For example, let us consider 76952 Number formed by last two digits = 52Since 52 is divisible by 4, answer is YES.`

How does this work?

`Let us consider 76952, we can write it as76952 = 7*10000 + 6*1000 + 9*100 + 5*10 + 2The proof is based on below observation:Remainder of 10i divided by 4 is 0 if i greater than or equal to two. Note than 100, 1000,... etc lead to remainder 0 when divided by 4.So remainder of "7*10000 + 6*1000 + 9*100 + 5*10 + 2" divided by 4 is equivalent to remainder of following : 0 + 0 + 0 + 5*10 + 2 = 52Therefore we can say that the whole number is divisible by 4 if 52 is divisible by 4.`

Below is implementation of above idea :

## C++

 `// C++ program to find if a number is divisible by ` `// 4 or not ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find that number divisible by ` `// 4 or not ` `bool` `check(string str) ` `{ ` `    ``int` `n = str.length(); ` ` `  `    ``// Empty string ` `    ``if` `(n == 0) ` `        ``return` `false``; ` ` `  `    ``// If there is single digit ` `    ``if` `(n == 1) ` `        ``return` `((str[0] - ``'0'``) % 4 == 0); ` ` `  `    ``// If number formed by last two digits is ` `    ``// divisible by 4. ` `    ``int` `last = str[n - 1] - ``'0'``; ` `    ``int` `second_last = str[n - 2] - ``'0'``; ` `    ``return` `((second_last * 10 + last) % 4 == 0); ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``string str = ``"76952"``; ` `   `  `    ``// Function call ` `    ``check(str) ? cout << ``"Yes"` `: cout << ``"No "``; ` `    ``return` `0; ` `}`

## Java

 `// Java program to find if a number is ` `// divisible by 4 or not ` `import` `java.util.*; ` `class` `IsDivisible  ` `{ ` `    ``// Function to find that number ` `    ``// is divisible by 4 or not ` `    ``static` `boolean` `check(String str) ` `    ``{ ` `        ``int` `n = str.length(); ` ` `  `        ``// Empty string ` `        ``if` `(n == ``0``) ` `            ``return` `false``; ` ` `  `        ``// If there is single digit ` `        ``if` `(n == ``1``) ` `            ``return` `((str.charAt(``0``) - ``'0'``) % ``4` `== ``0``); ` ` `  `        ``// If number formed by last two digits is ` `        ``// divisible by 4. ` `        ``int` `last = str.charAt(n - ``1``) - ``'0'``; ` `        ``int` `second_last = str.charAt(n - ``2``) - ``'0'``; ` `        ``return` `((second_last * ``10` `+ last) % ``4` `== ``0``); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``String str = ``"76952"``; ` `       `  `        ``// Function call ` `        ``if` `(check(str)) ` `            ``System.out.println(``"Yes"``); ` `        ``else` `            ``System.out.println(``"No"``); ` `    ``} ` `}`

## Python3

 `# Python 3 program to find ` `# if a number is divisible ` `# by 4 or not ` ` `  `# Function to find that ` `# number divisible by ` `# 4 or not ` ` `  ` `  `def` `check(st): ` `    ``n ``=` `len``(st) ` ` `  `    ``# Empty string ` `    ``if` `(n ``=``=` `0``): ` `        ``return` `False` ` `  `    ``# If there is single ` `    ``# digit ` `    ``if` `(n ``=``=` `1``): ` `        ``return` `((st[``0``] ``-` `'0'``) ``%` `4` `=``=` `0``) ` ` `  `    ``# If number formed by ` `    ``# last two digits is ` `    ``# divisible by 4. ` `    ``last ``=` `(``int``)(st[n ``-` `1``]) ` `    ``second_last ``=` `(``int``)(st[n ``-` `2``]) ` ` `  `    ``return` `((second_last ``*` `10` `+` `last) ``%` `4` `=``=` `0``) ` ` `  ` `  `# Driver code ` `st ``=` `"76952"` ` `  `# Function call ` `if``(check(st)): ` `    ``print``(``"Yes"``) ` `else``: ` `    ``print``(``"No "``) ` ` `  `# This code is contributed by Nikita tiwari `

## C#

 `// C# program to find if a number is ` `// divisible by 4 or not ` `using` `System; ` ` `  `class` `GFG  ` `{ ` `    ``// Function to find that number ` `    ``// is divisible by 4 or not ` `    ``static` `bool` `check(String str) ` `    ``{ ` `        ``int` `n = str.Length; ` ` `  `        ``// Empty string ` `        ``if` `(n == 0) ` `            ``return` `false``; ` ` `  `        ``// If there is single digit ` `        ``if` `(n == 1) ` `            ``return` `((str[0] - ``'0'``) % 4 == 0); ` ` `  `        ``// If number formed by last two ` `        ``// digits is divisible by 4. ` `        ``int` `last = str[n - 1] - ``'0'``; ` `        ``int` `second_last = str[n - 2] - ``'0'``; ` ` `  `        ``return` `((second_last * 10 + last) % 4 == 0); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``String str = ``"76952"``; ` ` `  `        ``// Function call ` `        ``if` `(check(str)) ` `            ``Console.Write(``"Yes"``); ` `        ``else` `            ``Console.Write(``"No"``); ` `    ``} ` `} ` ` `  `// This code is Contributed by nitin mittal.`

## Javascript

 `//Javascript program to check whether a string is divisible by 4 or not ` ` `  `// function to check the divisibility ` `function` `check(str) ` `{   ` `      ``// checking the length for future reference ` `      ``var` `n = str.length;  ` ` `  `      ``// if it is empty then directly returning false ` `      ``if``( n == 0) ` `      ``{          ` `           ``return` `false``; ` `      ``} ` `  `  `      ``if``( n == 1) ` `      ``{ ` `           ``return` `((str[0] -``'0'``) % 4 == 0);  ` `      ``} ` `      ``var` `lastNumber = str[n-1] -``'0'``; ` `      ``var` `lastSecondNUmber = str[n-2] -``'0'``; ` `      ``return` `((lastSecondNUmber * 10  + lastNumber) % 4 == 0);     ` `} ` ` `  `// Driver code ` `var` `str=``"76952"``; ` ` `  `//checking the value by passing it into the function ` `// Function call ` `if``(check(str)){ ` `  ``console.log(``"Yes"``); ` `} ` `else``{ ` `  ``console.log(``"No"``); ` `}`

## PHP

 ` `

Output

```Yes
```

Time Complexity: O(1), as we are not using any loops for traversing.

Auxiliary Space: O(1), as we are not using any extra space.

Method 2: Checking given number is divisible by 4 or not by using the modulo division operator “%”.

## C++

 `#include ` `using` `namespace` `std; ` `int` `main() ` `{ ` `    ``// input ` `    ``long` `long` `int` `n = 1234567589333862; ` `      `  `    ``// finding given number is divisible by 4 or not ` `    ``if` `(n % 4 == 0) ` `    ``{ ` `        ``cout << ``"Yes"``; ` `    ``} ` `    ``else` `    ``{ ` `        ``cout << ``"No"``; ` `    ``} ` `    `  `    ``return` `0; ` `} ` ` `  `// This code is contributed by satwik4409. `

## Java

 `/*package whatever //do not write package name here */` `import` `java.io.*; ` ` `  `class` `GFG { ` `    ``public` `static` `void` `main (String[] args) { ` `       `  `      ``// input ` `        ``long` `n=123456758933l; ` `          `  `        ``// finding given number is divisible by 4 or not ` `        ``if` `(n % ``4` `== ``0``) ` `        ``{ ` `            ``System.out.println(``"Yes"``); ` `        ``} ` `        ``else` `        ``{ ` `            ``System.out.println(``"No"``); ` `        ``}   ` `       `  `        `  `    ``} ` `} ` ` `  `// This code is contributed by laxmigangarajula03`

## Python3

 `# Python code  ` `# To check whether the given number is divisible by 4 or not ` ` `  `#input  ` `n``=``1234567589333862` `# the above input can also be given as n=input() -> taking input from user ` `# finding given number is divisible by 4 or not ` `if` `int``(n)``%``4``=``=``0``: ` `  ``print``(``"Yes"``)  ` `else``:  ` `  ``print``(``"No"``) ` ` `  `  ``# this code is contributed by gangarajula laxmi `

## C#

 `using` `System; ` `public` `class` `GFG{ ` ` `  `    ``static` `public` `void` `Main (){ ` ` `  `       ``// input ` `        ``long` `n=1234567589333862; ` `          `  `        ``// finding given number is divisible by 4 or not ` `        ``if` `(n % 4 == 0) ` `        ``{ ` `            ``Console.Write(``"Yes"``); ` `        ``} ` `        ``else` `        ``{ ` `            ``Console.Write(``"No"``); ` `        ``}   ` `       `  `    ``} ` `} ` ` `  `// This code is contributed by laxmigangarajula03`

## Javascript

 ``

## PHP

 ` `

Output

```No
```

Time Complexity: O(1), as we are not using any loops for traversing.
Auxiliary Space: O(1), as we are not using any extra space.

Method 3: Use of inbuilt function Atoi() in C++.
The atoi() function in C++ takes a string (which represents an integer) as an argument and returns its value of type int. So basically the function is used to convert a string argument to an integer.

Syntax:

`int atoi(const char str)`

Parameters: The function accepts one parameter str which refers to the string argument that is needed to be converted into its integer equivalent.

Return Value: If str is a valid input, then the function returns the equivalent integer number for the passed string number. If no valid conversion takes place, then the function returns zero.

Implementation

## C++

 `// C++ program to find if a number is divisible by ` `// 4 or not ` `#include ` `using` `namespace` `std; ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``char` `str[] = ``"76952"``; ` `    ``int` `n = (``sizeof``(str) / ``sizeof``(``char``))-1; ` `    ``char` `ch[2]; ` `    ``if` `(n >= 2) { ` `        ``ch[0] = str[n - 2]; ` `        ``ch[1] = str[n - 1]; ` `    ``} ` `    ``else` `if` `(n == 1) { ` `        ``ch[0] = 0; ` `        ``ch[1] = str[0]; ` `    ``} ` ` `  `    ``int` `x; ` `    ``x = ``atoi``(ch); ` `    ``if` `(!(x % 4)) { ` `        ``cout << ``"YES"``; ` `    ``} ` `    ``else` `{ ` `        ``cout << ``"NO"``; ` `    ``} ` ` `  `    ``return` `0; ` `} ` ` `  `// This code is contributed by Aarti_Rathi`

## Java

 `// Java program to find if a number is divisible by ` `// 4 or not ` `import` `java.util.*; ` ` `  `class` `GFG ` `{ ` `   `  `    ``// Driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``String str = ``"76952"``; ` `        ``int` `n = str.length(); ` ` `  `        ``char``[] ch = ``new` `char``[``2``]; ` `        ``if` `(n >= ``2``) { ` `            ``ch[``0``] = str.charAt(n - ``2``); ` `            ``ch[``1``] = str.charAt(n - ``1``); ` `        ``} ` `        ``else` `if` `(n == ``1``) { ` `            ``ch[``0``] = ``'0'``; ` `            ``ch[``1``] = str.charAt(``0``); ` `        ``} ` ` `  `        ``int` `x = (ch[``0``] - ``'0'``) * ``10` `+ (ch[``1``] - ``'0'``); ` `        ``if` `((x % ``4``) == ``0``) { ` `            ``System.out.println(``"YES"``); ` `        ``} ` `        ``else` `{ ` `            ``System.out.println(``"NO"``); ` `        ``} ` `    ``} ` `} ` ` `  `// This code is contributed by phasing17`

## Python3

 `# Python3 program to find if a number is divisible by ` `# 4 or not ` ` `  `# Driver code ` `str` `=` `"76952"``; ` `n ``=` `len``(``str``); ` `ch ``=` `["``", "``"] ` ` `  `if` `(n >``=` `2``): ` `    ``ch[``0``] ``=` `str``[n ``-` `2``] ` `    ``ch[``1``] ``=` `str``[n ``-` `1``] ` ` `  `elif` `(n ``=``=` `1``): ` `    ``ch[``0``] ``=` `'0'``; ` `    ``ch[``1``] ``=` `str``[``0``]; ` ` `  `x ``=` `int``("".join(ch)); ` `if` `(x ``%` `4` `=``=` `0``): ` `    ``print``(``"YES"``); ` ` `  `else``: ` `    ``print``(``"NO"``); ` ` `  ` `  `# This code is contributed by phasing17`

## C#

 `// C# program to find if a number is divisible by ` `// 4 or not ` `using` `System; ` ` `  `class` `GFG { ` `  ``// Driver code ` `  ``public` `static` `void` `Main(``string``[] args) ` `  ``{ ` `    ``string` `str = ``"76952"``; ` `    ``int` `n = str.Length; ` `    ``char``[] ch = ``new` `char``[2]; ` `    ``if` `(n >= 2) { ` `      ``ch[0] = str[n - 2]; ` `      ``ch[1] = str[n - 1]; ` `    ``} ` `    ``else` `if` `(n == 1) { ` `      ``ch[0] = ``'0'``; ` `      ``ch[1] = str[0]; ` `    ``} ` ` `  `    ``int` `x = (ch[0] - ``'0'``) * 10 + (ch[1] - ``'0'``); ` `    ``if` `((x % 4) == 0) { ` `      ``Console.WriteLine(``"YES"``); ` `    ``} ` `    ``else` `{ ` `      ``Console.WriteLine(``"NO"``); ` `    ``} ` `  ``} ` `} ` ` `  `// This code is contributed by phasing17`

## Javascript

 `// JavaScript program to find if a number is divisible by ` `// 4 or not ` ` `  `// Driver code ` `let str = ``"76952"``; ` `let n = str.length; ` `let ch = ``new` `Array(2); ` ` `  `if` `(n >= 2) { ` `    ``ch[0] = str.charAt(n - 2); ` `    ``ch[1] = str.charAt(n - 1); ` `} ` ` `  `else` `if` `(n == 1) { ` `    ``ch[0] = ``'0'``; ` `    ``ch[1] = str.charAt(0); ` `} ` ` `  `let x; ` `x = parseInt(ch.join(``""``)); ` `if` `(x % 4 == 0) { ` `    ``console.log(``"YES"``); ` `} ` `else` `{ ` `    ``console.log(``"NO"``); ` `} ` ` `  `// This code is contributed by phasing17`

Output

```YES
```

Time Complexity: O(1), as we are not using any loops for traversing.
Auxiliary Space: O(1), as we are not using any extra space.

Method 4: (Using substring function)

• Use substring function to get the last two characters of the string.
• Convert the string to integer
• Check if it is divisible by 4 or not, using (number%4 == 0).

This approach is contributed by Abhijeet Kumar.

Below is the implementation of the above approach:

## C++

 `// C++ program to find if a number is divisible by ` `// 4 or not ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find that number divisible by ` `// 4 or not ` `bool` `check(string str) ` `{ ` `    ``// Get the length of the string ` `    ``int` `n = str.length(); ` ` `  `    ``// Empty string ` `    ``if` `(n == 0) ` `        ``return` `false``; ` `    ``// stoi(string_variable) is used in C++ ` `    ``// to convert string to integer ` ` `  `    ``// If there is single digit ` `    ``if` `(n == 1) ` `        ``return` `((stoi(str)) % 4 == 0); ` ` `  `    ``// getting last two characters using substring ` `    ``str = str.substr(n - 2, 2); ` `    ``// If number formed by last two digits is ` `    ``// divisible by 4. ` `    ``return` `((stoi(str)) % 4 == 0); ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``string str = ``"76952"``; ` ` `  `    ``// Function call ` `    ``check(str) ? cout << ``"Yes"` `: cout << ``"No "``; ` `    ``return` `0; ` `} ` ` `  `// This code is contributed by Abhijeet Kumar(abhijeet19403)`

## Java

 `// Java program to find if a number is ` `// divisible by 4 or not ` `import` `java.util.*; ` `class` `IsDivisible { ` `    ``// Function to find that number ` `    ``// is divisible by 4 or not ` `    ``static` `boolean` `check(String str) ` `    ``{ ` `        ``// Get the length of the string ` `        ``int` `n = str.length(); ` ` `  `        ``// Empty string ` `        ``if` `(n == ``0``) ` `            ``return` `false``; ` `        ``// Integer.parseInt(string_variable) is used in Java ` `        ``// to convert string to integer ` ` `  `        ``// If there is single digit ` `        ``if` `(n == ``1``) ` `            ``return` `((Integer.parseInt(str)) % ``4` `== ``0``); ` ` `  `        ``// getting last two characters using substring ` `        ``str = str.substring(n - ``2``); ` `        ``// If number formed by last two digits is ` `        ``// divisible by 4. ` `        ``return` `((Integer.parseInt(str)) % ``4` `== ``0``); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``String str = ``"76952"``; ` ` `  `        ``// Function call ` `        ``if` `(check(str)) ` `            ``System.out.println(``"Yes"``); ` `        ``else` `            ``System.out.println(``"No"``); ` `    ``} ` `} ` `// This code is contributed by Abhijeet Kumar(abhijeet19403)`

## Python3

 `# Python 3 program to find ` `# if a number is divisible ` `# by 4 or not ` ` `  `# Function to find that ` `# number divisible by ` `# 4 or not ` `def` `check(st): ` `    ``n ``=` `len``(st) ` ` `  `    ``# Empty string ` `    ``if` `(n ``=``=` `0``): ` `        ``return` `False` ` `  `    ``# int(string_variable) is used in Python3  ` `    ``# to convert string to integer ` ` `  `    ``# If there is single ` `    ``# digit ` `    ``if` `(n ``=``=` `1``): ` `        ``return` `(``int``(st) ``%` `4` `=``=` `0``) ` ` `  `    ``# slicing of strings is used in Python to function as substring ` `    ``st ``=` `st[n``-``2``:] ` `    ``# If number formed by ` `    ``# last two digits is ` `    ``# divisible by 4. ` `    ``return` `(``int``(st) ``%` `4` `=``=` `0``) ` ` `  ` `  `# Driver code ` `st ``=` `"76952"` ` `  `# Function call ` `if``(check(st)): ` `    ``print``(``"Yes"``) ` `else``: ` `    ``print``(``"No "``) ` ` `  `# This code is contributed by Abhijeet Kumar(abhijeet19403) `

## C#

 `// C# program to find if a number is ` `// divisible by 4 or not ` `using` `System; ` ` `  `class` `GFG  ` `{ ` `    ``// Function to find that number ` `    ``// is divisible by 4 or not ` `    ``static` `bool` `check(String str) ` `    ``{ ` `        ``int` `n = str.Length; ` ` `  `        ``// Empty string ` `        ``if` `(n == 0) ` `            ``return` `false``; ` `       `  `        ``// int.Parse(string_variable) is used in C# ` `        ``// to convert string to integer ` `       `  `        ``// If there is single digit ` `        ``if` `(n == 1) ` `            ``return` `(``int``.Parse(str) % 4 == 0); ` `         `  `          ``// getting last two characters using substring ` `          ``str = str.Substring(n-2); ` `        ``// If number formed by last two ` `        ``// digits is divisible by 4. ` `        ``return` `(``int``.Parse(str) % 4 == 0); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``String str = ``"76952"``; ` ` `  `        ``// Function call ` `        ``if` `(check(str)) ` `            ``Console.Write(``"Yes"``); ` `        ``else` `            ``Console.Write(``"No"``); ` `    ``} ` `} ` ` `  `// This code is Contributed by Abhijeet Kumar(abhijeet19403)`

## Javascript

 `//Javascript program to check whether a string is divisible by 4 or not ` ` `  `// function to check the divisibility ` `function` `check(str) ` `{   ` `      ``// checking the length for future reference ` `      ``var` `n = str.length;  ` ` `  `      ``// if it is empty then directly returning false ` `      ``if``( n == 0) ` `      ``{          ` `           ``return` `false``; ` `      ``} ` `       `  `       ``// parseInt(string_variable) is used in Javascript ` `      ``// to convert string to integer ` `      ``if``( n == 1) ` `      ``{ ` `           ``return` `(parseInt(str) % 4 == 0);  ` `      ``} ` `       `  `      ``// getting last two characters using substring ` `      ``str = str.substring(n-2); ` `       `  `      ``// If number formed by last two digits is ` `      ``// divisible by 4. ` `      ``return` `(parseInt(str) % 4 == 0);     ` `} ` ` `  `// Driver code ` `var` `str=``"76952"``; ` ` `  `//checking the value by passing it into the function ` `// Function call ` `if``(check(str)){ ` `  ``console.log(``"Yes"``); ` `} ` `else``{ ` `  ``console.log(``"No"``); ` `} ` `// This code is contributed by Abhijeet Kumar(abhijeet19403)`

Output

```Yes
```

Time Complexity: (1), substring function takes O(n) time, where n is the length of the substring and as here n is equal to 2 thus the time complexity is constant.
Auxiliary Space: O(1), As constant extra space is used.