# Find the Kth number which is not divisible by N

Given two integers N and K, the task is to find the Kth number which is not divisible by N.

Note: The value of N is greater than 1, because every number is divisible by 1.
Examples:

Input: N = 3, K = 6
Output: 8
Explanation:
Numbers which is not divisible by N = 3 – {1, 2, 4, 5, 7, 8, 10}
6th non-divisible number by 3 is 8.

Input: N = 7, K = 97
Output: 113
Explanation:
Numbers which is not divisible by N = 7 – {1, 2, 4, 5, 6, ….}
97th non-divisible number by 7 is 113.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Naive Approach: A simple solution is to iterate over a loop to find the Kth non-divisible number by N. Below is the steps to find the Kth number:

• Intialize the count of non-divisible number and current number to 0.
• Iterate using a while loop until the count of the non divisible number is not equal to K.
• Increment the count of the non-divisible number by 1, If the current number is not divisible by N.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to find ` `// the K'th non divisible ` `// number by N ` ` `  `#include ` ` `  `using` `namespace` `std; ` ` `  `// Function to find ` `// the K'th non divisible ` `// number by N ` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``int` `find = 0; ` `    ``int` `j = 0; ` ` `  `    ``// Loop to find the K non ` `    ``// divisible number by N ` `    ``while` `(find != K) { ` `        ``j++; ` `        ``if` `(j % N != 0) ` `            ``find++; ` `    ``} ` `    ``return` `j; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `N = 3; ` `    ``int` `K = 6; ` `    ``cout << kthNonDivisible(N, K); ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to find ` `// the K'th non divisible ` `// number by N ` `class` `GFG{ ` ` `  `// Function to find ` `// the K'th non divisible ` `// number by N ` `static` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``int` `find = ``0``; ` `    ``int` `j = ``0``; ` ` `  `    ``// Loop to find the K non ` `    ``// divisible number by N ` `    ``while` `(find != K) ` `    ``{ ` `        ``j++; ` `        ``if` `(j % N != ``0``) ` `            ``find++; ` `    ``} ` `    ``return` `j; ` `} ` ` `  `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `N = ``3``; ` `    ``int` `K = ``6``; ` ` `  `    ``System.out.print(kthNonDivisible(N, K)); ` `} ` `} ` ` `  `// This code is contributed by shivanisinghss2110 `

## Python3

 `# Python3 implementation to find  ` `# the K'th non divisible  ` `# number of N  ` `import` `math ` ` `  `# Function to find the Kth  ` `# not divisible by N  ` `def` `kthNonDivisible(n, K): ` ` `  `    ``find ``=` `0` `    ``j ``=` `0` ` `  `    ``# Loop to find the K non  ` `    ``# divisible number by N  ` `    ``while` `find !``=` `K:     ` `        ``j ``=` `j ``+` `1` `        ``if` `j ``%` `N !``=` `0``: ` `            ``find ``=` `find ``+` `1` `             `  `    ``return` `j ` ` `  `# Driver Code  ` `N ``=` `3` `K ``=` `6` ` `  `# Function Call ` `print``(kthNonDivisible(N, K))  ` ` `  `# This code is contributed by ishayadav181`

## C#

 `// C# implementation to find the  ` `// K'th non-divisible number by N ` `using` `System; ` ` `  `class` `GFG { ` ` `  `// Function to find the K'th ` `// non divisible number by N ` `static` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``int` `find = 0; ` `    ``int` `j = 0; ` ` `  `    ``// Loop to find the K non ` `    ``// divisible number by N ` `    ``while` `(find != K) ` `    ``{ ` `        ``j++; ` `         `  `        ``if` `(j % N != 0) ` `            ``find++; ` `    ``} ` `    ``return` `j; ` `} ` ` `  `// Driver code ` `public` `static` `void` `Main(String[] args) ` `{ ` `    ``int` `N = 3; ` `    ``int` `K = 6; ` ` `  `    ``Console.Write(kthNonDivisible(N, K)); ` `} ` `} ` ` `  `// This code is contributed by shivanisinghss2110 `

Output:

```8
```

Efficient Approach: The key observation in the problem is that every number from 1 to N-1 is not divisible by N and then Similarly, N + 1 to 2*N – 1 is also not divisible by N. Keeping this in mind, the Kth number not divisible by N will be: Below is the implementation of the above approach:

## C++

 `// C++ implementation to find ` `// the K'th non-divisible ` `// number of N ` ` `  `#include ` ` `  `using` `namespace` `std; ` `// Function to find the Kth ` `// not divisible by N ` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``return` `K + ``floor``((K - 1) / (N - 1)); ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `N = 3; ` `    ``int` `K = 6; ` ` `  `    ``// Function Call ` `    ``cout << kthNonDivisible(N, K); ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to find the  ` `// K'th non-divisible number of N ` `class` `GFG{ ` `     `  `// Function to find the Kth ` `// not divisible by N ` `static` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``return` `(``int``) (K + Math.floor((K - ``1``) / (N - ``1``))); ` `} ` ` `  `// Driver Code ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `N = ``3``; ` `    ``int` `K = ``6``; ` ` `  `    ``// Function Call ` `    ``System.out.print(kthNonDivisible(N, K)); ` `} ` `} ` ` `  `// This code is contributed by amal kumar choubey `

## Python3

 `# Python3 implementation to find  ` `# the K'th non-divisible  ` `# number of N  ` `import` `math ` ` `  `# Function to find the Kth  ` `# not divisible by N  ` `def` `kthNonDivisible(N, K): ` `     `  `    ``return` `K ``+` `math.floor((K ``-` `1``) ``/` `(N ``-` `1``)) ` `     `  `# Driver Code  ` `N ``=` `3` `K ``=` `6` ` `  `# Function Call ` `print``(kthNonDivisible(N, K))  ` ` `  `# This code is contributed by ishayadav181 `

## C#

 `// C# implementation to find the  ` `// K'th non-divisible number of N ` `using` `System; ` ` `  `class` `GFG{ ` `     `  `// Function to find the Kth ` `// not divisible by N ` `static` `int` `kthNonDivisible(``int` `N, ``int` `K) ` `{ ` `    ``return` `(``int``) (K + Math.Floor((``double``)(K - 1) /  ` `                                         ``(N - 1))); ` `} ` ` `  `// Driver Code ` `public` `static` `void` `Main(String[] args) ` `{ ` `    ``int` `N = 3; ` `    ``int` `K = 6; ` ` `  `    ``// Function Call ` `    ``Console.Write(kthNonDivisible(N, K)); ` `} ` `} ` ` `  `// This code is contributed by amal kumar choubey `

Output:

```8
``` My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.