# Print first k digits of 1/n where n is a positive integer

Given a positive integer n, print first k digits after point in value of 1/n. Your program should avoid overflow and floating point arithmetic.

Examples :

```Input:   n = 3, k = 3
Output:  333

Input:   n = 50, k = 4
Output:  0200
```

We strongly recommend to minimize the browser and try this yourself first.

Let us consider an example n = 7, k = 3. The first digit of 1/7 is ‘1’, it can be obtained by doing integer value of 10/7. Remainder of 10/7 is 3. Next digit is 4 which can be obtained by taking integer value of 30/7. Remainder of 30/7 is 2. Next digits is 2 which can be obtained by taking integer value of 20/7

## C++

 `#include ` `using` `namespace` `std; ` ` `  `// Function to print first k digits after dot in value ` `// of 1/n.  n is assumed to be a positive integer. ` `void` `print(``int` `n, ``int` `k) ` `{ ` `   ``int` `rem = 1; ``// Initialize remainder ` ` `  `   ``// Run a loop k times to print k digits ` `   ``for` `(``int` `i = 0; i < k; i++) ` `   ``{ ` `         ``// The next digit can always be obtained as ` `         ``// doing (10*rem)/10 ` `         ``cout << (10 * rem) / n; ` ` `  `         ``// Update remainder ` `         ``rem = (10*rem) % n; ` `   ``} ` `} ` ` `  `// Driver program to test above function ` `int` `main() ` `{ ` `    ``int` `n = 7, k = 3; ` `    ``print(n, k); ` `    ``cout << endl; ` ` `  `    ``n = 21, k = 4; ` `    ``print(n, k); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java code to Print first k  ` `// digits of 1/n where n is a  ` `// positive integer ` `import` `java.io.*; ` ` `  `class` `GFG  ` `{ ` `    ``// Function to print first  ` `    ``// k digits after dot in value ` `    ``// of 1/n. n is assumed to be  ` `    ``// a positive integer. ` `    ``static` `void` `print(``int` `n, ``int` `k) ` `    ``{ ` `        ``// Initialize remainder ` `        ``int` `rem = ``1``;  ` `         `  `        ``// Run a loop k times to print k digits ` `        ``for` `(``int` `i = ``0``; i < k; i++) ` `        ``{ ` `            ``// The next digit can always be  ` `            ``// obtained as doing (10*rem)/10 ` `            ``System.out.print( (``10` `* rem) / n); ` ` `  `            ``// Update remainder ` `            ``rem = (``10` `* rem) % n; ` `             `  `        ``} ` `         `  `    ``} ` `     `  `    ``// Driver program  ` `    ``public` `static` `void` `main(String []args) ` `    ``{ ` `        ``int` `n = ``7``, k = ``3``; ` `        ``print(n, k); ` `        ``System.out.println(); ` `         `  `        ``n = ``21``; ` `        ``k = ``4``; ` `        ``print(n, k); ` `         `  `    ``} ` `} ` ` `  `// This article is contributed by vt_m `

/div>

## Python3

 `# Python code to Print first k  ` `# digits of 1/n where n is a  ` `# positive integer ` `import` `math ` ` `  `# Function to print first k digits ` `# after dot in value of 1/n. n is ` `# assumed to be a positive integer. ` `def` `Print``(n, k): ` `    ``rem ``=` `1` `# Initialize remainder ` `     `  `    ``# Run a loop k times to print ` `    ``# k digits ` `    ``for` `i ``in` `range``(``0``, k): ` `        ``# The next digit can always ` `        ``# be obtained as doing  ` `        ``# (10*rem)/10 ` `        ``print``(math.floor(((``10` `*` `rem) ` `                       ``/` `n)), end``=``"") ` `         `  `        ``# Update remainder ` `        ``rem ``=` `(``10``*``rem) ``%` `n ` ` `  `# Driver program to test ` `# above function ` `n ``=` `7` `k ``=` `3` `Print``(n, k); ` `print``(``" "``) ` `n ``=` `21` `k ``=` `4` `Print``(n, k); ` ` `  `# This code is contributed by Sam007. `

## C#

 `// C# code to Print first k digits of ` `// 1/n where n is a positive integer ` `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``// Function to print first  ` `    ``// k digits after dot in value ` `    ``// of 1/n. n is assumed to be  ` `    ``// a positive integer. ` `    ``static` `void` `print(``int` `n, ``int` `k) ` `    ``{ ` `         `  `        ``// Initialize remainder ` `        ``int` `rem = 1;  ` `         `  `        ``// Run a loop k times to ` `        ``// print k digits ` `        ``for` `(``int` `i = 0; i < k; i++) ` `        ``{ ` `             `  `            ``// The next digit can always be  ` `            ``// obtained as doing (10*rem)/10 ` `            ``Console.Write( (10 * rem) / n); ` ` `  `            ``// Update remainder ` `            ``rem = (10 * rem) % n; ` `        ``} ` `    ``} ` `     `  `    ``// Driver program  ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 7, k = 3; ` `        ``print(n, k); ` `        ``Console.WriteLine(); ` `         `  `        ``n = 21; ` `        ``k = 4; ` `        ``print(n, k); ` `    ``} ` `} ` ` `  `// This code is contributed by Sam007. `

## PHP

 ` `

Output :

```142
0476
```

## tags:

Mathematical number-digits Mathematical