Situatie
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.
Solutie
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:
We first convert to given base, thencheck if the converted number has two consecutive 0s or notInput:
def hasConsecutiveZeroes(N, K): z = toK(N, K) if (check(z)): print("Yes") else: print("No")# Function to convert N into base Kdef toK(N, K): # Weight of each digit w = 1 s = 0 while (N != 0): r = N % K N = N//K s = r * w + s w* = 10 return s# Function to check for consecutive 0def check(N): # Flag to check if there are consecutive # zero or not fl = False while (N != 0): 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# Driver codeN, K = 15, 8hasConsecutiveZeroes(N, K)Output:
Yes
Leave A Comment?