# Find N distinct integers with zero sum

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

Examples:

Input: N = 3
Output: 1, -1, 0
Explanation:
On adding the numbers that is 1 + (-1) + 0 the sum is 0.

Input: N = 4
Output: 1, -1, 2, -2
Explanation:
On adding the numbers that is 1 + (-1) + 2 + (-2) the sum is 0.

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

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

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.