# Smallest multiple of N with exactly N digits in its Binary number representation

Given a positive integer **N**, the task is to find the smallest multiple of N with exactly N digits in its binary number representation.**Example:**

Input:N = 3Output:6Explanation:

6 is the smallest multiple of 3 and has length also 3(110) in binary.Input:N = 5Output:20Explanation:

6 is the smallest multiple of 5 and has length also 5(10100) in binary.

**Approach:** The idea is to make an observation.

- If we observe carefully a series will be formed as 1, 2, 6, 8, 20, …
- The N-th term in the series would be:

- Therefore, the number N is taken as the input and the above formula is implemented.

Below is the implementation of the above approach:

## C++

`// C++ program to find smallest` `// multiple of n with exactly N` `// digits in Binary number System.` `#include <iostream>` `#include <math.h>` `using` `namespace` `std;` `// Function to find smallest multiple` `// of n with exactly n digits` `// in Binary number representation.` `void` `smallestNumber(` `int` `N)` `{` ` ` `cout << N * ` `ceil` `(` `pow` `(2,` ` ` `(N - 1))` ` ` `/ N);` `}` `// Driver code` `int` `main()` `{` ` ` `int` `N = 3;` ` ` `smallestNumber(N);` ` ` `return` `0;` `}` |

## Java

`// Java program to find smallest` `// multiple of n with exactly N` `// digits in Binary Number System.` `class` `GFG{` `// Function to find smallest` `// multiple of n with exactly N` `// digits in Binary Number System.` `static` `void` `smallestNumber(` `int` `N)` `{` ` ` `System.out.print(N * Math.ceil` ` ` `(Math.pow(` `2` `, (N - ` `1` `)) / N));` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `N = ` `3` `;` ` ` ` ` `smallestNumber(N);` `}` `}` `// This code is contributed by shubham` |

## Python3

`# Python3 program to find smallest` `# multiple of n with exactly N` `# digits in Binary number System.` `from` `math ` `import` `ceil` `# Function to find smallest multiple` `# of n with exactly n digits` `# in Binary number representation.` `def` `smallestNumber(N):` ` ` `print` `(N ` `*` `ceil(` `pow` `(` `2` `, (N ` `-` `1` `)) ` `/` `N))` `# Driver code` `N ` `=` `3` `smallestNumber(N)` `# This code is contributed by Mohit Kumar` |

## C#

`// C# program to find smallest` `// multiple of n with exactly N` `// digits in Binary Number System.` `using` `System;` `class` `GFG{` `// Function to find smallest` `// multiple of n with exactly N` `// digits in Binary Number System.` `static` `void` `smallestNumber(` `int` `N)` `{` ` ` `Console.Write(N * Math.Ceiling(` ` ` `Math.Pow(2, (N - 1)) / N));` `}` ` ` `// Driver code` `public` `static` `void` `Main(` `string` `[] args)` `{` ` ` `int` `N = 3;` ` ` ` ` `smallestNumber(N);` `}` `}` `// This code is contributed by AnkitRai01` |

## Javascript

`<script>` `// Javascript program to find smallest` `// multiple of n with exactly N` `// digits in Binary number System.` `// Function to find smallest multiple` `// of n with exactly n digits` `// in Binary number representation.` `function` `smallestNumber(N)` `{` ` ` `document.write(N * parseInt(Math.ceil(Math.pow(2,` ` ` `(N - 1))` ` ` `/ N)));` `}` `// Driver code` `let N = 3;` `smallestNumber(N);` `// This code is contributed by rishavmahato348.` `</script>` |

**Output:**

6

**Time Complexity: **O(n)**Auxiliary Space: **O(1)