Related Articles

# Check if a number is multiple of 5 without using / and % operators

• Difficulty Level : Basic
• Last Updated : 11 Aug, 2021

Given a positive number n, write a function isMultipleof5(int n) that returns true if n is multiple of 5, otherwise false. You are not allowed to use % and / operators
Method 1 (Repeatedly subtract 5 from n)
Run a loop and subtract 5 from n in the loop while n is greater than 0. After the loop terminates, check whether n is 0. If n becomes 0 then n is multiple of 5, otherwise not.

## C++

 `#include ``using` `namespace` `std;` `// assumes that n is a positive integer``bool` `isMultipleof5 (``int` `n)``{``    ``while` `( n > 0 )``        ``n = n - 5;` `    ``if` `( n == 0 )``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `n = 19;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``cout << n <<``" is multiple of 5"``;``    ``else``        ``cout << n << ``" is not a multiple of 5"``;` `    ``return` `0;``}` `// This code is contributed by SHUBHAMSINGH10`

## C

 `#include` `// assumes that n is a positive integer``bool` `isMultipleof5 (``int` `n)``{``    ``while` `( n > 0 )``        ``n = n - 5;` `    ``if` `( n == 0 )``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `n = 19;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``printf``(``"%d is multiple of 5\n"``, n);``    ``else``        ``printf``(``"%d is not a multiple of 5\n"``, n);` `    ``return` `0;``}`

## Java

 `// Java code to check if a number``// is multiple of 5 without using``// '/' and '%' operators``class` `GFG``{``    ` `// assumes that n is a positive integer``static` `boolean` `isMultipleof5 (``int` `n)``{``    ``while` `(n > ``0``)``        ``n = n - ``5``;` `    ``if` `(n == ``0``)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``19``;``    ``if` `(isMultipleof5(n) == ``true``)``        ``System.out.printf(``"%d is multiple of 5\n"``, n);``    ``else``        ``System.out.printf(``"%d is not a multiple of 5\n"``, n);``}``}` `// This code is contributed by Smitha DInesh Semwal`

## Python3

 `# Python code to check``# if a number is multiple of``# 5 without using / and %` `# Assumes that n is a positive integer``def` `isMultipleof5(n):``    ` `    ``while` `( n > ``0` `):``        ``n ``=` `n ``-` `5` `    ``if` `( n ``=``=` `0` `):``        ``return` `1` `    ``return` `0``    ` `# Driver Code``i ``=` `19``if` `( isMultipleof5(i) ``=``=` `1` `):``    ``print` `(i, ``"is multiple of 5"``)``else``:``    ``print` `(i, ``"is not a multiple of 5"``)` `# This code is contributed``# by Sumit Sudhakar`

## C#

 `// C# code to check if a number``// is multiple of 5 without using /``// and % operators``using` `System;` `class` `GFG``{``    ` `// assumes that n is a positive integer``static` `bool` `isMultipleof5 (``int` `n)``{``    ``while` `(n > 0)``        ``n = n - 5;` `    ``if` `(n == 0)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `n = 19;``    ``if` `(isMultipleof5(n) == ``true``)``        ``Console.Write(n + ``" is multiple of 5\n"``);``    ``else``        ``Console.Write(n + ``" is not a multiple of 5\n"``);``}``}` `// This code is contributed by nitin mittal.`

## PHP

 ` 0 )``        ``\$n` `= ``\$n` `- 5;` `    ``if` `( ``\$n` `== 0 )``        ``return` `true;` `    ``return` `false;``}` `// Driver Code``    ``\$n` `= 19;``    ``if` `( isMultipleof5(``\$n``) == true )``        ``echo``(``"\$n is multiple of 5"``);``    ``else``        ``echo``(``"\$n is not a multiple of 5"` `);``        ` `// This code is contributed by nitin mittal.``?>`

## Javascript

 ``

Output :

`19 is not a multiple of 5`

Method 2 (Convert to string and check the last character)
Convert n to a string and check the last character of the string. If the last character is ‘5’ or ‘0’ then n is multiple of 5, otherwise not.

## C++

 `#include ``using` `namespace` `std;` `// Assuming that integer takes 4 bytes, there``// can be maximum 10 digits in a integer``# define MAX 11` `bool` `isMultipleof5(``int` `n)``{``    ``char` `str[MAX];``    ``int` `len = ``strlen``(str);``    ` `    ``// Check the last character of string``    ``if` `( str[len - 1] == ``'5'` `||``        ``str[len - 1] == ``'0'` `)``        ` `        ``return` `true``;``    ` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `n = 19;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``cout << n <<``" is multiple of 5"` `<

## C

 `#include``#include``#include` `// Assuming that integer takes 4 bytes, there``// can be maximum 10 digits in a integer``# define MAX 11` `bool` `isMultipleof5(``int` `n)``{``    ``char` `str[MAX];``    ``int` `len = ``strlen``(str);``    ` `    ``// Check the last character of string``    ``if` `( str[len - 1] == ``'5'` `||``         ``str[len - 1] == ``'0'` `)``         ` `        ``return` `true``;``    ` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `n = 19;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``printf``(``"%d is multiple of 5\n"``, n);``    ``else``        ``printf``(``"%d is not a multiple of 5\n"``, n);` `    ``return` `0;``}`

## Java

 `// Assuming that integer``// takes 4 bytes, there``// can be maximum 10``// digits in a integer``class` `GFG``{``static` `int` `MAX = ``11``;` `static` `boolean` `isMultipleof5(``int` `n)``{``    ``char` `str[] = ``new` `char``[MAX];``    ``int` `len = str.length;``    ` `    ``// Check the last``    ``// character of string``    ``if` `(str[len - ``1``] == ``'5'` `||``        ``str[len - ``1``] == ``'0'` `)``        ` `        ``return` `true``;``    ` `    ``return` `false``;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``19``;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``System.out.println(n +``" is multiple "` `+``                                       ``"of 5"``);``    ``else``        ``System.out.println(n +``" is not a "` `+``                           ``"multiple of 5"``);``}``}` `// This code is contributed by mits`

## Python3

 `# Assuming that integer``# takes 4 bytes, there``# can be maximum 10``# digits in a integer``MAX` `=` `11``;` `def` `isMultipleof5(n):``    ``s ``=` `str``(n);``    ``l ``=` `len``(s);``    ` `    ``# Check the last``    ``# character of string``    ``if` `(s[l ``-` `1``] ``=``=` `'5'` `or``        ``s[l ``-` `1``] ``=``=` `'0'``):``        ``return` `True``;``    ``return` `False``;` `# Driver Code``n ``=` `19``;``if` `(isMultipleof5(n) ``=``=` `True` `):``    ``print``(n, ``"is multiple of 5"``);``else``:``    ``print``(n, ``"is not a multiple of 5"``);` `# This code is contributed by mits`

## C#

 `using` `System;` `// Assuming that integer``// takes 4 bytes, there``// can be maximum 10``// digits in a integer``class` `GFG``{``static` `int` `MAX = 11;` `static` `bool` `isMultipleof5(``int` `n)``{``    ``char``[] str = ``new` `char``[MAX];``    ``int` `len = str.Length;``    ` `    ``// Check the last``    ``// character of string``    ``if` `(str[len - 1] == ``'5'` `||``        ``str[len - 1] == ``'0'` `)``        ` `        ``return` `true``;``    ` `    ``return` `false``;``}` `// Driver Code``static` `void` `Main()``{``    ``int` `n = 19;``    ``if` `( isMultipleof5(n) == ``true` `)``        ``Console.WriteLine(``"{0} is "` `+``                          ``"multiple of 5"``, n);``    ``else``        ``Console.WriteLine(``"{0} is not a "` `+``                          ``"multiple of 5"``, n);``}``}` `// This code is contributed by mits`

## PHP

 ``

## Javascript

 ``

Output:

`19 is not a multiple of 5`

Thanks to Baban_Rathore for suggesting this method.
Method 3 (Set last digit as 0 and use floating point trick)
A number n can be a multiple of 5 in two cases. When last digit of n is 5 or 10. If last bit in binary equivalent of n is set (which can be the case when last digit is 5) then we multiply by 2 using n<<=1 to make sure that if the number is multiple of 5 then we have the last digit as 0. Once we do that, our work is to just check if the last digit is 0 or not, which we can do using float and integer comparison trick.

## C++

 `#include ``using` `namespace` `std;``bool` `isMultipleof5(``int` `n)``{``    ``// If n is a multiple of 5 then we``    ``// make sure that last digit of n is 0``    ``if` `( (n & 1) == 1 )``        ``n <<= 1;``    ` `    ``float` `x = n;``    ``x = ( (``int``)(x * 0.1) ) * 10;``    ` `    ``// If last digit of n is 0 then n``    ``// will be equal to (int)x``    ``if` `( (``int``)x == n )``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `i = 19;``    ``if` `( isMultipleof5(i) == ``true` `)``        ``cout << i <<``" is multiple of 5\n"``;``    ``else``        ``cout << i << ``" is not a multiple of 5\n"``;` `    ``getchar``();``    ``return` `0;``}` `// This code is contributed by shubhamsingh10`

## C

 `#include` `bool` `isMultipleof5(``int` `n)``{``    ``// If n is a multiple of 5 then we``    ``// make sure that last digit of n is 0``    ``if` `( (n & 1) == 1 )``        ``n <<= 1;``    ` `    ``float` `x = n;``    ``x = ( (``int``)(x * 0.1) ) * 10;``    ` `    ``// If last digit of n is 0 then n``    ``// will be equal to (int)x``    ``if` `( (``int``)x == n )``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `i = 19;``    ``if` `( isMultipleof5(i) == ``true` `)``        ``printf``(``"%d is multiple of 5\n"``, i);``    ``else``        ``printf``(``"%d is not a multiple of 5\n"``, i);` `    ``getchar``();``    ``return` `0;``}`

## Java

 `// Java code to check if``// a number is multiple of``// 5 without using / and %``class` `GFG``{``static` `boolean` `isMultipleof5(``int` `n)``{``    ``// If n is a multiple of 5``    ``// then we make sure that``    ``// last digit of n is 0``    ``if` `((n & ``1``) == ``1``)``        ``n <<= ``1``;``    ` `    ``float` `x = n;``    ``x = ((``int``)(x * ``0.1``)) * ``10``;``    ` `    ``// If last digit of n is``    ``// 0 then n will be equal``    ``// to (int)x``    ``if` `((``int``)x == n)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `i = ``19``;``    ``if` `(isMultipleof5(i) == ``true``)``        ``System.out.println(i + ``"is multiple of 5"``);``    ``else``        ``System.out.println(i + ``" is not a "` `+``                            ``"multiple of 5"``);``}``}` `// This code is contributed``// by mits`

## Python3

 `# Python code to check``# if a number is multiple of``# 5 without using / and %` `def` `isMultipleof5(n):``    ` `    ``# If n is a multiple of 5 then we``    ``# make sure that last digit of n is 0``    ``if` `( (n & ``1``) ``=``=` `1` `):``        ``n <<``=` `1``;` `    ``x ``=` `n``    ``x ``=` `( (``int``)(x ``*` `0.1``) ) ``*` `10``    ` `    ``# If last digit of n is 0``    ``# then n will be equal to x``    ``if` `( x ``=``=` `n ):``        ``return` `1` `    ``return` `0``    ` `# Driver Code``i ``=` `19``if` `( isMultipleof5(i) ``=``=` `1` `):``    ``print` `(i, ``"is multiple of 5"``)``else``:``    ``print` `(i, ``"is not a multiple of 5"``)` `# This code is contributed``# by Sumit Sudhakar`

## C#

 `// C# code to check if``// a number is multiple of``// 5 without using / and %``class` `GFG``{``static` `bool` `isMultipleof5(``int` `n)``{``    ``// If n is a multiple of 5``    ``// then we make sure that``    ``// last digit of n is 0``    ``if` `((n & 1) == 1)``        ``n <<= 1;``    ` `    ``float` `x = n;``    ``x = ((``int``)(x * 0.1)) * 10;``    ` `    ``// If last digit of n is``    ``// 0 then n will be equal``    ``// to (int)x``    ``if` `((``int``)x == n)``        ``return` `true``;` `    ``return` `false``;``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `i = 19;``    ``if` `(isMultipleof5(i) == ``true``)``        ``System.Console.WriteLine(i + ``"is multiple of 5"``);``    ``else``        ``System.Console.WriteLine(i + ``" is not a "` `+``                                   ``"multiple of 5"``);``}``}` `// This code is contributed``// by mits`

## PHP

 ``

## Javascript

 ``

Output :

`19 is not a multiple of 5`

Thanks to darkprince for suggesting this method.
Please write comments if you find the above codes/algorithms incorrect, or find other ways to solve the same problem.

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up