# Find N distinct integers with sum N

Given an integer **N**, the task is to find **N** distinct integers whose sum is **N**. If there is more than one combination of the integers, print any one of them.

**Examples:**

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

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

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

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

**Approach:** The idea is to print **N/2** Symmetric Pairs like **(+x, -x)** so that the resultant sum will always be **0**.

Now if integer **N is odd**, then print **N** along with these set of integers to make sum of all integers equals to **N**

If N is even, print **0 and N** along with these set of integers to make sum of all integers equals to **N**.

Below is the implementation of the above approach:

## C++

`// C++ for the above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to print distinct N` `// numbers whose sum is N` `void` `findNumbers(` `int` `N)` `{` ` ` `// To store how many symmetric` ` ` `// pairs needs to be calculated` ` ` `int` `half = N / 2;` ` ` `// For even N we have to print` ` ` `// one less symmetric pair` ` ` `if` `(N % 2 == 0) {` ` ` `half--;` ` ` `}` ` ` `// Iterate till [1 n/2] and Print` ` ` `// all symmetric pairs(i, -i)` ` ` `for` `(` `int` `i = 1; i <= half; i++) {` ` ` `// Print 2 symmetric numbers` ` ` `cout << (-1) * i` ` ` `<< ` `", "` `<< i << ` `", "` `;` ` ` `}` ` ` `// if N is Odd, then print N` ` ` `if` `(N & 1) {` ` ` `cout << N << endl;` ` ` `}` ` ` `// Else print(0, N)` ` ` `else` `{` ` ` `cout << 0 << ` `", "` ` ` `<< N << endl;` ` ` `}` `}` `// Driver Code` `int` `main()` `{` ` ` `// Given Sum` ` ` `int` `N = 5;` ` ` `// Function Call` ` ` `findNumbers(N);` ` ` `return` `0;` `}` |

## Java

`// Java for the above approach` `class` `GFG{` ` ` `// Function to print distinct N` `// numbers whose sum is N` `public` `static` `void` `findNumbers(` `int` `N)` `{` ` ` ` ` `// To store how many symmetric` ` ` `// pairs needs to be calculated` ` ` `int` `half = N / ` `2` `;` ` ` ` ` `// For even N we have to print` ` ` `// one less symmetric pair` ` ` `if` `(N % ` `2` `== ` `0` `)` ` ` `{` ` ` `half--;` ` ` `}` ` ` ` ` `// Iterate till [1 n/2] and Print` ` ` `// all symmetric pairs(i, -i)` ` ` `for` `(` `int` `i = ` `1` `; i <= half; i++)` ` ` `{` ` ` `// Print 2 symmetric numbers` ` ` `System.out.print((-` `1` `) * i + ` `", "` `+` ` ` `i + ` `", "` `);` ` ` `}` ` ` ` ` `// if N is Odd, then print N` ` ` `int` `check = N & ` `1` `;` ` ` `if` `(check != ` `0` `)` ` ` `{` ` ` `System.out.println(N);` ` ` `}` ` ` ` ` `// Else print(0, N)` ` ` `else` ` ` `{` ` ` `System.out.println(` `0` `+ ` `", "` `+ N);` ` ` `}` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` ` ` `// Given sum` ` ` `int` `N = ` `5` `;` ` ` ` ` `// Function sall` ` ` `findNumbers(N);` `}` `}` `// This code is contributed by divyeshrabadiya07 ` |

## Python3

`# Python3 code for the above approach` `# Function to print distinct N` `# numbers whose sum is N` `def` `findNumbers(N):` ` ` `# To store how many symmetric` ` ` `# pairs needs to be calculated` ` ` `half ` `=` `int` `(N ` `/` `2` `)` ` ` `# For even N we have to print` ` ` `# one less symmetric pair` ` ` `if` `(N ` `%` `2` `=` `=` `0` `):` ` ` `half ` `=` `half ` `-` `1` ` ` `# Iterate till [1 n/2] and Print` ` ` `# all symmetric pairs(i, -i)` ` ` `for` `i ` `in` `range` `(` `1` `, half ` `+` `1` `):` ` ` `# Print 2 symmetric numbers` ` ` `print` `((` `-` `1` `) ` `*` `i, end ` `=` `', '` `)` ` ` `print` `(i, end ` `=` `', '` `)` ` ` `# If N is Odd, then print N` ` ` `if` `(N & ` `1` `):` ` ` `print` `(N, end ` `=` `'\n'` `)` ` ` `# Else print(0, N)` ` ` `else` `:` ` ` `print` `(` `0` `, end ` `=` `', '` `)` ` ` `print` `(N, end ` `=` `'\n'` `)` `# Driver Code` `N ` `=` `5` `# Function Call` `findNumbers(N)` `# This code is contributed by PratikBasu ` |

## C#

`// C# for the above approach` `using` `System;` `class` `GFG{` ` ` `// Function to print distinct N` `// numbers whose sum is N` `public` `static` `void` `findNumbers(` `int` `N)` `{` ` ` ` ` `// To store how many symmetric` ` ` `// pairs needs to be calculated` ` ` `int` `half = N / 2;` ` ` ` ` `// For even N we have to print` ` ` `// one less symmetric pair` ` ` `if` `(N % 2 == 0)` ` ` `{` ` ` `half--;` ` ` `}` ` ` ` ` `// Iterate till [1 n/2] and Print` ` ` `// all symmetric pairs(i, -i)` ` ` `for` `(` `int` `i = 1; i <= half; i++)` ` ` `{` ` ` `// Print 2 symmetric numbers` ` ` `Console.Write((-1) * i + ` `", "` `+` ` ` `i + ` `", "` `);` ` ` `}` ` ` ` ` `// if N is Odd, then print N` ` ` `int` `check = N & 1;` ` ` `if` `(check != 0)` ` ` `{` ` ` `Console.Write(N + ` `"\n"` `);` ` ` `}` ` ` ` ` `// Else print(0, N)` ` ` `else` ` ` `{` ` ` `Console.Write(0 + ` `", "` `+ N + ` `"\n"` `);` ` ` `}` `}` `// Driver code` `public` `static` `void` `Main(` `string` `[] args)` `{` ` ` ` ` `// Given sum` ` ` `int` `N = 5;` ` ` ` ` `// Function sall` ` ` `findNumbers(N);` `}` `}` `// This code is contributed by rutvik_56` |

## Javascript

`<script>` `// javascript program for the above approach` `// Function to print distinct N` `// numbers whose sum is N` `function` `findNumbers( N)` `{` ` ` `// To store how many symmetric` ` ` `// pairs needs to be calculated` ` ` `let half = parseInt(N / 2);` ` ` `// For even N we have to print` ` ` `// one less symmetric pair` ` ` `if` `(N % 2 == 0) {` ` ` `half--;` ` ` `}` ` ` `// Iterate till [1 n/2] and Print` ` ` `// all symmetric pairs(i, -i)` ` ` `for` `(let i = 1; i <= half; i++) {` ` ` `// Print 2 symmetric numbers` ` ` `document.write( (-1) * i` ` ` `+ ` `", "` `+ i + ` `", "` `);` ` ` `}` ` ` `// if N is Odd, then print N` ` ` `if` `(N & 1) {` ` ` `document.write( N);` ` ` `}` ` ` `// Else print(0, N)` ` ` `else` `{` ` ` `document.write( 0 + ` `", "` ` ` `+ N +` `"<br/>"` `);` ` ` `}` `}` `// Driver Code` ` ` `// Given Sum` ` ` `let N = 5;` ` ` `// Function Call` ` ` `findNumbers(N);` ` ` ` ` `// This code contributed by aashish1995` `</script>` |

**Output:**

-1,1,-2,2,5

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