**Repdigit Number** is a number **N** which has all the digits in its representation in base **B** equal.

Some of the Repdigit number are:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55….

### Check if N is an Repdigit number

Given a number **N**, the task is to check if **N** is an **Repdigit Number** in Base **B** or not. If **N** is a Repdigit Number in Base **B** then print **“Yes”** else print **“No”**.

**Examples:**

Input:N = 2000, B = 7

Output:Yes

Explanation:

2000 in base 7 is 5555 which has all digits equal.

Input:N = 112, B = 10

Output:No

**Approach:**

- One by one find all the digits of N in base B.
- Compare every digit with its previous digit.
- If any digit is not equal to the previous digit then return false.
- Otherwise return true.

Below is the implementation of the above approach:

## C++

`// C++ implementation to check ` `// if a number is Repdigit ` ` ` `#include <iostream> ` `using` `namespace` `std; ` ` ` `// Function to check if a number ` `// is a Repdigit number ` `bool` `isRepdigit(` `int` `num, ` `int` `b) ` `{ ` ` ` `// To store previous digit (Assigning ` ` ` `// initial value which is less than any ` ` ` `// digit) ` ` ` `int` `prev = -1; ` ` ` ` ` `// Traverse all digits from right to ` ` ` `// left and check if any digit is ` ` ` `// smaller than previous. ` ` ` `while` `(num) { ` ` ` `int` `digit = num % b; ` ` ` `num /= b; ` ` ` `if` `(prev != -1 && digit != prev) ` ` ` `return` `false` `; ` ` ` `prev = digit; ` ` ` `} ` ` ` ` ` `return` `true` `; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `num = 2000, base = 7; ` ` ` `isRepdigit(num, base) ? cout << ` `"Yes"` ` ` `: cout << ` `"No"` `; ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation to check ` `// if a number is Repdigit ` `class` `GFG{ ` ` ` `// Function to check if a number ` `// is a Repdigit number ` `static` `boolean isRepdigit(` `int` `num, ` `int` `b) ` `{ ` ` ` `// To store previous digit (Assigning ` ` ` `// initial value which is less than any ` ` ` `// digit) ` ` ` `int` `prev = -1; ` ` ` ` ` `// Traverse all digits from right to ` ` ` `// left and check if any digit is ` ` ` `// smaller than previous. ` ` ` `while` `(num != 0) ` ` ` `{ ` ` ` `int` `digit = num % b; ` ` ` `num /= b; ` ` ` `if` `(prev != -1 && digit != prev) ` ` ` `return` `false` `; ` ` ` `prev = digit; ` ` ` `} ` ` ` `return` `true` `; ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String args[]) ` `{ ` ` ` `int` `num = 2000, base1 = 7; ` ` ` `if` `(isRepdigit(num, base1)) ` ` ` `{ ` ` ` `System.` `out` `.print(` `"Yes"` `); ` ` ` `} ` ` ` `else` ` ` `{ ` ` ` `System.` `out` `.print(` `"No"` `); ` ` ` `} ` `} ` `} ` ` ` `// This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation to check ` `# if a number is Repdigit ` ` ` `# Function to check if a number ` `# is a Repdigit number ` `def` `isRepdigit(num, b) : ` ` ` ` ` `# To store previous digit (Assigning ` ` ` `# initial value which is less than any ` ` ` `# digit) ` ` ` `prev ` `=` `-` `1` ` ` ` ` `# Traverse all digits from right to ` ` ` `# left and check if any digit is ` ` ` `# smaller than previous. ` ` ` `while` `(num) : ` ` ` `digit ` `=` `num ` `%` `b ` ` ` `num ` `/` `/` `=` `b ` ` ` `if` `(prev !` `=` `-` `1` `and` `digit !` `=` `prev) : ` ` ` `return` `False` ` ` `prev ` `=` `digit ` ` ` `return` `True` ` ` `# Driver code ` `num ` `=` `2000` `base ` `=` `7` `if` `(isRepdigit(num, base)): ` ` ` `print` `(` `"Yes"` `) ` `else` `: ` ` ` `print` `(` `"No"` `) ` ` ` `# This code is contributed by Vishal Maurya. ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation to check ` `// if a number is Repdigit ` `using` `System; ` `class` `GFG{ ` ` ` `// Function to check if a number ` `// is a Repdigit number ` `static` `bool` `isRepdigit(` `int` `num, ` `int` `b) ` `{ ` ` ` `// To store previous digit (Assigning ` ` ` `// initial value which is less than any ` ` ` `// digit) ` ` ` `int` `prev = -1; ` ` ` ` ` `// Traverse all digits from right to ` ` ` `// left and check if any digit is ` ` ` `// smaller than previous. ` ` ` `while` `(num != 0) ` ` ` `{ ` ` ` `int` `digit = num % b; ` ` ` `num /= b; ` ` ` `if` `(prev != -1 && digit != prev) ` ` ` `return` `false` `; ` ` ` `prev = digit; ` ` ` `} ` ` ` `return` `true` `; ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `int` `num = 2000, base1 = 7; ` ` ` `if` `(isRepdigit(num, base1)) ` ` ` `{ ` ` ` `Console.Write(` `"Yes"` `); ` ` ` `} ` ` ` `else` ` ` `{ ` ` ` `Console.Write(` `"No"` `); ` ` ` `} ` `} ` `} ` ` ` `// This code is contributed by Code_Mech ` |

*chevron_right*

*filter_none*

**Output:**

Yes

**Time Complexity:** *O(n)*

**Reference**: http://www.numbersaplenty.com/set/repdigit/

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.