# Super-D Numbers

• Last Updated : 17 Feb, 2023

Given an integer N, the task is to check N is a super-d Number.

Super-D Number is a number N such that D*ND contains a substring made of D digits containing D only, where D is more than 1 and less than 10

Examples:

Input: N = 261
Output: Yes
Explanation:
It will be true for D = 3
D*ND = 3*2613 = 53338743
which contains a substring made of 3 digits 333 containing 3 only.
Input: N = 10
Output: No

Approach: The idea is to create every possible string concatenating digit D, D number of times and then will check if the concatenation is present as a substring in D*ND or not, where D will be in the range [2, 9].
Below is the implementation of the above approach:

## C++

 `#include ``#include    // include string library for string manipulation``#include     // include cmath library for pow function` `using` `namespace` `std;` `// Function to check if N is a super-d number``bool` `isSuperdNum(``int` `n)``{``    ``for` `(``int` `d = 2; d < 10; d++)``    ``{``        ``string subString = ``""``;    ``// create an empty string``        ``for` `(``int` `i = 0; i < d; i++)``        ``{``            ``subString += to_string(d);  ``// add d as string to the subString``        ``}``        ``if` `(to_string(d * ``pow``(n, d)).find(subString) != string::npos)``        ``// check if subString is present in d * n^d as a substring``            ``return` `true``;``    ``}``    ``return` `false``;``}` `// Driver Code``int` `main()``{``    ``int` `n = 261;``    ``if` `(isSuperdNum(n) == ``true``)``        ``cout << ``"Yes"` `<< endl;``    ``else``        ``cout << ``"No"` `<< endl;``    ``return` `0;``}`

## Java

 `// Java implementation to``// check if N is a super-d number``class` `GFG{``    ` `// Function to check if N``// is a super-d number``static` `boolean` `isSuperdNum(``int` `n)``{``    ``for` `(``int` `d = ``2``; d < ``10``; d++)``    ``{``        ``String subString = newString(d);``        ``if` `(String.valueOf(``           ``(d * Math.pow(n, d))).contains(subString))``            ``return` `true``;``    ``}``    ``return` `false``;``}` `// Driver Code``private` `static` `String newString(``int` `d)``{``    ``String ans = ``""``;``    ``for` `(``int` `i = ``0``; i < d; i++)``    ``{``        ``ans += String.valueOf(d);``    ``}``    ``return` `ans;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``261``;``    ``if` `(isSuperdNum(n) == ``true``)``        ``System.out.println(``"Yes"``);``    ``else``        ``System.out.println(``"No"``);``}``}` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 implementation to``# check if N is a super-d number` `# Function to check if N``# is a super-d number``def` `isSuperdNum(n):``    ``for` `d ``in` `range` `(``2``, ``10``):``        ``substring ``=` `str``(d) ``*` `d;``        ``if` `substring ``in` `str``(d ``*` `pow``(n, d)):``            ``return` `True``    ``return` `False` `# Driver Code``n ``=` `261``if` `isSuperdNum(n) ``=``=` `True``:``    ``print``(``"Yes"``)``else` `:``    ``print``(``"No"``)`

## C#

 `// C# implementation to``// check if N is a super-d number``using` `System;` `class` `GFG{``    ` `// Function to check if N``// is a super-d number``static` `bool` `isSuperdNum(``int` `n)``{``    ``for``(``int` `d = 2; d < 10; d++)``    ``{``       ``String subString = newString(d);``       ``if` `(String.Join(``""``,``          ``(d * Math.Pow(n, d))).Contains(subString))``           ``return` `true``;``    ``}``    ``return` `false``;``}` `private` `static` `String newString(``int` `d)``{``    ``String ans = ``""``;``    ` `    ``for``(``int` `i = 0; i < d; i++)``    ``{``       ``ans += String.Join(``""``, d);``    ``}``    ``return` `ans;``}` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 261;``    ` `    ``if` `(isSuperdNum(n) == ``true``)``        ``Console.WriteLine(``"Yes"``);``    ``else``        ``Console.WriteLine(``"No"``);``}``}` `// This code is contributed by Rajput-Ji`

## Javascript

 `// Function to check if N is a super-d number``function` `isSuperdNum(n) {``    ``for` `(let d = 2; d < 10; d++) {``        ``let substring = String(d).repeat(d);``        ``if` `(String(d * Math.pow(n, d)).includes(substring)) {``            ``return` `true``;``        ``}``    ``}``    ``return` `false``;``}` `// Driver code``let n = 261;``if` `(isSuperdNum(n)) {``    ``console.log(``"Yes"``);``} ``else` `{``    ``console.log(``"No"``);``}`

Output:

`Yes`

Time Complexity: O(1)

Auxiliary Space: O(1) as it is using constant space

References: OEIS

My Personal Notes arrow_drop_up