# Find the Nth natural number which is not divisible by A

Given **two integers A and N**, our task is to find the Nth natural number which is not divisible by A.

**Examples:**

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

Input:A = 4, N = 12Output:15Explanation:

The series starting from 1 excluding the multiples of A would be 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17 and the 12th term which is not divisible by 4 is 15.

Input:A = 3, N = 20Output:29Explanation:

The series starting from 1 excluding the multiples of A would be 1, 2, 4, 5, 7, 8, 10, 11 and so on and the Nth number which is not divisible by 3 is 29.

**Approach:**

To solve the problem mentioned above we have to observe that there is a **gap after every (A – 1) integer** as the multiples of A are skipped. To find that the number N lies in which set we divide N by (A – 1), and store it in a variable lets say *quotient*. Now multiplying A with that variable and adding the remainder to it we will get the resultant answer.

If A = 4, N = 7: quotient = 7 / 3 = 2 remainder = 7 % 3 = 1 So the answer is (A * quotient) + remainder = 4 * 2 + 1 = 9

But if the remainder is 0 it means it is the last element in the set. Lets us understand it by an example.

If A = 4, N = 6: quotient = 6 / 3 = 2 remainder = 6 % 3 = 0 So the answer is (A * quotient) - 1 = 4 * 2 - 1 = 7

Below is the implementation of the above approach:

## C++

`// C++ code to Find the Nth number which` `// is not divisible by A from the series` `#include<bits/stdc++.h>` `using` `namespace` `std;` `void` `findNum(` `int` `n, ` `int` `k)` `{` ` ` ` ` `// Find the quotient and the remainder` ` ` `// when k is divided by n-1` ` ` `int` `q = k / (n - 1);` ` ` `int` `r = k % (n - 1);` ` ` `int` `a;` ` ` `// If the remainder is not 0` ` ` `// multiply n by q and subtract 1` ` ` `// if remainder is 0 then` ` ` `// multiply n by q` ` ` `// and add the remainder` ` ` `if` `(r != 0)` ` ` `a = (n * q) + r;` ` ` `else` ` ` `a = (n * q) - 1;` ` ` `// Print the answer` ` ` `cout << a;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `A = 4, N = 6;` ` ` ` ` `findNum(A, N);` ` ` `return` `0;` `}` `// This code is contributed by PratikBasu` |

## Java

`// Java code to Find the Nth number which` `// is not divisible by A from the series` `class` `GFG {` ` ` `static` `void` `findNum(` `int` `n, ` `int` `k)` `{` ` ` `// Find the quotient and the remainder` ` ` `// when k is divided by n-1` ` ` `int` `q = k / (n - ` `1` `);` ` ` `int` `r = k % (n - ` `1` `);` ` ` `int` `a = ` `0` `;` ` ` ` ` `// If the remainder is not 0` ` ` `// multiply n by q and subtract 1` ` ` `// if remainder is 0 then` ` ` `// multiply n by q` ` ` `// and add the remainder` ` ` `if` `(r != ` `0` `)` ` ` `a = (n * q) + r;` ` ` `else` ` ` `a = (n * q) - ` `1` `;` ` ` `// Print the answer` ` ` `System.out.println(a);` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `A = ` `4` `;` ` ` `int` `N = ` `6` `;` ` ` `findNum(A, N);` `}` `}` `// This code is contributed by 29AjayKumar` |

## Python3

`# Python3 code to Find the Nth number which` `# is not divisible by A from the series` `def` `findNum(n, k):` ` ` ` ` `# Find the quotient and the remainder` ` ` `# when k is divided by n-1` ` ` `q ` `=` `k` `/` `/` `(n` `-` `1` `)` ` ` `r ` `=` `k ` `%` `(n` `-` `1` `)` ` ` ` ` `# if the remainder is not 0` ` ` `# multiply n by q and subtract 1` ` ` ` ` `# if remainder is 0 then` ` ` `# multiply n by q` ` ` `# and add the remainder` ` ` `if` `(r !` `=` `0` `):` ` ` `a ` `=` `(n ` `*` `q)` `+` `r` ` ` `else` `:` ` ` `a ` `=` `(n ` `*` `q)` `-` `1` ` ` ` ` `# print the answer` ` ` `print` `(a)` `# driver code` `A ` `=` `4` `N ` `=` `6` `findNum(A, N)` |

## C#

`// C# code to find the Nth number which` `// is not divisible by A from the series` `using` `System;` `class` `GFG{` ` ` `static` `void` `findNum(` `int` `n, ` `int` `k)` `{` ` ` `// Find the quotient and the remainder` ` ` `// when k is divided by n-1` ` ` `int` `q = k / (n - 1);` ` ` `int` `r = k % (n - 1);` ` ` `int` `a = 0;` ` ` ` ` `// If the remainder is not 0` ` ` `// multiply n by q and subtract 1` ` ` `// if remainder is 0 then` ` ` `// multiply n by q` ` ` `// and add the remainder` ` ` `if` `(r != 0)` ` ` `a = (n * q) + r;` ` ` `else` ` ` `a = (n * q) - 1;` ` ` `// Print the answer` ` ` `Console.WriteLine(a);` `}` `// Driver code` `public` `static` `void` `Main(String[] args)` `{` ` ` `int` `A = 4;` ` ` `int` `N = 6;` ` ` `findNum(A, N);` `}` `}` `// This code is contributed by amal kumar choubey` |

## Javascript

`<script>` `// Javascript code to Find the Nth number which` `// is not divisible by A from the series` `function` `findNum(n, k)` `{` ` ` ` ` `// Find the quotient and the remainder` ` ` `// when k is divided by n-1` ` ` `let q = parseInt(k / (n - 1));` ` ` `let r = k % (n - 1);` ` ` `let a;` ` ` `// If the remainder is not 0` ` ` `// multiply n by q and subtract 1` ` ` `// if remainder is 0 then` ` ` `// multiply n by q` ` ` `// and add the remainder` ` ` `if` `(r != 0)` ` ` `a = (n * q) + r;` ` ` `else` ` ` `a = (n * q) - 1;` ` ` `// Print the answer` ` ` `document.write(a);` `}` `// Driver code` `let A = 4, N = 6;` `findNum(A, N);` `// This code is contributed by rishavmahato348` `</script>` |

**Output:**

7