Given a two integers **N** and **K**, the task is to check if **N** leaves only distinct remainders when divided by all integers in the range **[1, K]**. If so, print **Yes**. Otherwise, print **No**.**Examples:**

Input:N = 5, K = 3Output:YesExplanation:

(5 % 1) == 0

(5 % 2) == 1

(5 % 3) == 2

Since all the remainders {0, 1, 2} are distinct.

Input:N = 5, K = 4Output:NoExplanation:

(5 % 1) == 0

(5 % 2) == 1

(5 % 3) == 2

(5 % 4) == 1, which is not distinct.

**Approach:**

Follow the steps given below to solve the problem:

- Initialize a set
**S** - Iterate over the range
**[1, K]**. - In each iteration, check if
**N % i**is already present in the**Set****S**or not. - If not present, then insert
**N % i**into the set**S** - Otherwise, print
**No**and terminate.

Below is the implementation of the above approach:

## C++

`// C++ Program to check if all` `// remainders are distinct or not` `#include <bits/stdc++.h>` `using` `namespace` `std;` ` ` `// Function to check and return` `// if all remainders are distinct` `bool` `is_distinct(` `long` `long` `n, ` `long` `long` `k)` `{` ` ` ` ` `// Stores the remainder` ` ` `unordered_set<` `long` `long` `> s;` ` ` ` ` `for` `(` `int` `i = 1; i <= k; i++) {` ` ` ` ` `// Calculate the remainder` ` ` `long` `long` `tmp = n % i;` ` ` ` ` `// If remainder already occurred` ` ` `if` `(s.find(tmp) != s.end()) {` ` ` `return` `false` `;` ` ` `}` ` ` ` ` `// Insert into the set` ` ` `s.insert(tmp);` ` ` `}` ` ` ` ` `return` `true` `;` `}` ` ` `// Driver Code` `int` `main()` `{` ` ` ` ` `long` `long` `N = 5, K = 3;` ` ` ` ` `if` `(is_distinct(N, K))` ` ` `cout << ` `"Yes"` `;` ` ` `else` ` ` `cout << ` `"No"` `;` ` ` ` ` `return` `0;` `}` |

## Java

`// Java program to check if all` `// remainders are distinct or not` `import` `java.util.*;` ` ` `class` `GFG{` ` ` `// Function to check and return` `// if all remainders are distinct` `static` `boolean` `is_distinct(` `long` `n, ` `long` `k)` `{` ` ` ` ` `// Stores the remainder` ` ` `HashSet<Long> s = ` `new` `HashSet<Long>();` ` ` ` ` `for` `(` `int` `i = ` `1` `; i <= k; i++)` ` ` `{` ` ` ` ` `// Calculate the remainder` ` ` `long` `tmp = n % i;` ` ` ` ` `// If remainder already occurred` ` ` `if` `(s.contains(tmp))` ` ` `{` ` ` `return` `false` `;` ` ` `}` ` ` ` ` `// Insert into the set` ` ` `s.add(tmp);` ` ` `}` ` ` `return` `true` `;` `}` ` ` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` `long` `N = ` `5` `, K = ` `3` `;` ` ` ` ` `if` `(is_distinct(N, K))` ` ` `System.out.print(` `"Yes"` `);` ` ` `else` ` ` `System.out.print(` `"No"` `);` `}` `}` ` ` `// This code is contributed by gauravrajput1` |

## Python3

`# Python3 program to check if all` `# remainders are distinct or not` ` ` `# Function to check and return` `# if all remainders are distinct` `def` `is_distinct(n, k):` ` ` ` ` `# Stores the remainder` ` ` `s ` `=` `set` `()` ` ` ` ` `for` `i ` `in` `range` `(` `1` `, k ` `+` `1` `):` ` ` ` ` `# Calculate the remainder` ` ` `tmp ` `=` `n ` `%` `i` ` ` ` ` `# If remainder already occurred` ` ` `if` `(tmp ` `in` `s):` ` ` `return` `False` ` ` ` ` `# Insert into the set ` ` ` `s.add(tmp)` ` ` ` ` `return` `True` ` ` `# Driver Code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` ` ` `N ` `=` `5` ` ` `K ` `=` `3` ` ` ` ` `if` `(is_distinct(N, K)):` ` ` `print` `(` `"Yes"` `)` ` ` `else` `:` ` ` `print` `(` `"No"` `)` ` ` `# This code is contributed by Shivam Singh` |

## C#

`// C# program to check if all` `// remainders are distinct or not` `using` `System;` `using` `System.Collections.Generic;` ` ` `class` `GFG{` ` ` `// Function to check and return` `// if all remainders are distinct` `static` `bool` `is_distinct(` `long` `n, ` `long` `k)` `{` ` ` ` ` `// Stores the remainder` ` ` `HashSet<` `long` `> s = ` `new` `HashSet<` `long` `>();` ` ` ` ` `for` `(` `int` `i = 1; i <= k; i++)` ` ` `{` ` ` ` ` `// Calculate the remainder` ` ` `long` `tmp = n % i;` ` ` ` ` `// If remainder already occurred` ` ` `if` `(s.Contains(tmp))` ` ` `{` ` ` `return` `false` `;` ` ` `}` ` ` ` ` `// Insert into the set` ` ` `s.Add(tmp);` ` ` `}` ` ` `return` `true` `;` `}` ` ` `// Driver Code` `public` `static` `void` `Main(String[] args)` `{` ` ` `long` `N = 5, K = 3;` ` ` ` ` `if` `(is_distinct(N, K))` ` ` `Console.Write(` `"Yes"` `);` ` ` `else` ` ` `Console.Write(` `"No"` `);` `}` `}` ` ` `// This code is contributed by gauravrajput1` |

**Output:**

Yes

**Time complexity:** O(K) **Auxiliary space:** O(K)

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****.**