Related Articles
Find N distinct integers with zero sum
• Last Updated : 28 May, 2020

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