Given an **integer N**, our task is to print **N** distinct numbers such that their sum is 0.

**Examples:**

Input:N = 3Output:1, -1, 0Explanation:

On adding the numbers that is 1 + (-1) + 0 the sum is 0.

Input:N = 4Output:1, -1, 2, -2Explanation:

On adding the numbers that is 1 + (-1) + 2 + (-2) the sum is 0.

**Approach:** To solve the problem mentioned above the main idea is to print **Symmetric Pairs** like (+x, -x) so that the sum will always be 0. The edge case to the problem is to observe that if **integer N is odd**, then print one 0 along with the numbers so that sum is not affected.

Below is the implementation of the above approach:

## C++

`// C++ implementation to Print N distinct` `// numbers such that their sum is 0` ` ` `#include <bits/stdc++.h>` `using` `namespace` `std;` ` ` `// Function to print distinct n` `// numbers such that their sum is 0` `void` `findNumbers(` `int` `N)` `{` ` ` `for` `(` `int` `i = 1; i <= N / 2; i++) {` ` ` ` ` `// Print 2 symmetric numbers` ` ` `cout << i << ` `", "` `<< -i << ` `", "` `;` ` ` `}` ` ` ` ` `// print a extra 0 if N is odd` ` ` `if` `(N % 2 == 1)` ` ` `cout << 0;` `}` ` ` `// Driver code` `int` `main()` `{` ` ` `int` `N = 10;` ` ` ` ` `findNumbers(N);` `}` |

## Java

`// Java implementation to Print N distinct` `// numbers such that their sum is 0` ` ` `class` `GFG{` ` ` `// Function to print distinct n` `// numbers such that their sum is 0` `static` `void` `findNumbers(` `int` `N)` `{` ` ` `for` `(` `int` `i = ` `1` `; i <= N / ` `2` `; i++)` ` ` `{` ` ` `// Print 2 symmetric numbers` ` ` `System.out.print(i + ` `", "` `+ -i + ` `", "` `);` ` ` `}` ` ` ` ` `// Print a extra 0 if N is odd` ` ` `if` `(N % ` `2` `== ` `1` `)` ` ` `System.out.print(` `0` `);` `}` ` ` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `N = ` `10` `;` ` ` `findNumbers(N);` `}` `}` ` ` `// This code is contributed by 29AjayKumar` |

## Python3

`# Python3 implementation to print N distinct` `# numbers such that their sum is 0` ` ` `# Function to print distinct n` `# numbers such that their sum is 0` `def` `findNumbers(N):` ` ` ` ` `for` `i ` `in` `range` `(` `1` `, N ` `/` `/` `2` `+` `1` `):` ` ` ` ` `# Print 2 symmetric numbers` ` ` `print` `(i, end ` `=` `', '` `)` ` ` `print` `(` `-` `i, end ` `=` `', '` `)` ` ` ` ` `# Print a extra 0 if N is odd` ` ` `if` `N ` `%` `2` `=` `=` `1` `:` ` ` `print` `(` `0` `, end ` `=` `'')` ` ` `# Driver code ` `if` `__name__` `=` `=` `'__main__'` `:` ` ` ` ` `N ` `=` `10` ` ` `findNumbers(N)` ` ` `# This code is contributed by rutvik_56` |

## C#

`// C# implementation to print N distinct ` `// numbers such that their sum is 0 ` `using` `System;` ` ` `class` `GFG {` ` ` `// Function to print distinct n ` `// numbers such that their sum is 0 ` `static` `void` `findNumbers(` `int` `N) ` `{ ` ` ` `for` `(` `int` `i = 1; i <= (N / 2); i++) ` ` ` `{ ` ` ` ` ` `// Print 2 symmetric numbers ` ` ` `Console.Write(i + ` `", "` `+ -i + ` `", "` `);` ` ` `} ` ` ` ` ` `// Print a extra 0 if N is odd ` ` ` `if` `(N % 2 == 1) ` ` ` `Console.Write(0);` `} ` ` ` `// Driver code` `static` `void` `Main() ` `{` ` ` `int` `N = 10; ` ` ` ` ` `findNumbers(N); ` `}` `}` ` ` `// This code is contributed by divyeshrabadiya07 ` |

**Output:**

1, -1, 2, -2, 3, -3, 4, -4, 5, -5,

**Time Complexity:** O(log N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.