# Check whether a number has consecutive 0’s in the given base or not

python tutorials and learn python

# Check whether a number has consecutive 0’s in the given base or not

Given a decimal number N, the task is to check if a number has consecutive zeroes or not after converting the number to its K-based notation.

Examples:

Input: N = 4, K = 2
Output: No
4 in base 2 is 100, As there are consecutive 2 thus the answer is No.

Input: N = 15, K = 8
Output: Yes
15 in base 8 is 17, As there are no consecutive 0 so the answer is Yes.

Approach: First convert the number N into base K and then simply check if the number has consecutive zeroes or not.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach ``#include ``using` `namespace` `std; `` `` `` ``// Function to convert N into base K ``int` `toK(``int` `N, ``int` `K) ``{ `` ``// Weight of each digit ``    ``int` `w = 1; ``    ``int` `s = 0; ``    ``while` `(N != 0) ``     ``{ ``        ``int` `r = N % K; ``        ``N = N/K; ``        ``s = r * w + s; ``        ``w *= 10; ``     ``} ``    ``return` `s; `` ``} `` ``// Function to check for consecutive 0 ``bool` `check(``int` `N) ``{ `` ``// Flag to check if there are consecutive  ``    ``// zero or not ``    ``bool` `fl = ``false``; ``    ``while` `(N != 0) ``    ``{ `` ``        ``int` `r = N % 10; ``        ``N = N/10; `` ``        ``// If there are two consecutive zero  ``        ``// then returning False ``        ``if` `(fl == ``true` `and r == 0) ``            ``return` `false``; ``        ``if` `(r > 0) ``            ``{ ``            ``fl = ``false``; ``            ``continue``; ``            ``} ``        ``fl = ``true``; `` ``    ``} ``     ``return` `true``; ``         ``} `` ``// We first convert to given base, then ``// check if the converted number has two ``// consecutive 0s or not ``void` `hasConsecutiveZeroes(``int` `N, ``int` `K) ``{ ``    ``int` `z = toK(N, K); ``    ``if` `(check(z)) ``       ``cout<<``"Yes"``<
Output:

`Yes`