# Represent N as sum of K even numbers

Given two integers N and K, the task is to represent N as sum of K even number. If it is not possible to represent the number, print -1.

Note: The representation may contain duplicate even numbers.

Examples:

Input: N = 6, K = 3
Output: 2 2 2
Explanation:
The given number 6 can be represented as 2 + 2 + 2 = 6

Input: N = 8, K = 2
Output: 2 6
Explanation:
The given number 3 can be represented as 2 + 6 = 8

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

Approach: To solve the problem mentioned above a simple solution is to maximise the occurrence of 2 which is the smallest even number. Necessary condition to represent N as sum of K numbers are:

• (K – 1) * 2 must be less than N.
• N – (K – 1) * 2 must be Even.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to represent ` `// N as sum of K even numbers ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to print the representation ` `void` `sumEvenNumbers(``int` `N, ``int` `K) ` `{ ` `    ``int` `check = N - 2 * (K - 1); ` ` `  `    ``// N must be greater than equal to 2*K ` `    ``// and must be even ` `    ``if` `(check > 0 && check % 2 == 0) { ` `        ``for` `(``int` `i = 0; i < K - 1; i++) { ` `            ``cout << ``"2 "``; ` `        ``} ` `        ``cout << check; ` `    ``} ` `    ``else` `{ ` `        ``cout << ``"-1"``; ` `    ``} ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``int` `N = 8; ` `    ``int` `K = 2; ` ` `  `    ``sumEvenNumbers(N, K); ` `    ``return` `0; ` `} `

## Java

 `// Java implementation to represent ` `// N as sum of K even numbers ` `import` `java.util.*; ` ` `  `class` `GFG{ ` `     `  `// Function to print the representation ` `static` `void` `sumEvenNumbers(``int` `N, ``int` `K) ` `{ ` `    ``int` `check = N - ``2` `* (K - ``1``); ` ` `  `    ``// N must be greater than equal to 2 * K ` `    ``// and must be even ` `    ``if` `(check > ``0` `&& check % ``2` `== ``0``) ` `    ``{ ` `        ``for``(``int` `i = ``0``; i < K - ``1``; i++) ` `        ``{ ` `           ``System.out.print(``"2 "``); ` `        ``} ` `        ``System.out.println(check); ` `    ``} ` `    ``else` `    ``{ ` `        ``System.out.println(``"-1"``); ` `    ``} ` `} ` ` `  `// Driver Code ` `public` `static` `void` `main(String args[]) ` `{ ` `    ``int` `N = ``8``; ` `    ``int` `K = ``2``; ` ` `  `    ``sumEvenNumbers(N, K); ` `} ` `} ` ` `  `// This code is contributed by ANKITKUMAR34 `

## Python3

 `# Python3 implementation to represent ` `# N as sum of K even numbers ` ` `  `# Function to print the representation ` `def` `sumEvenNumbers(N, K): ` `     `  `    ``check ``=` `N ``-` `2` `*` `(K ``-` `1``) ` ` `  `    ``# N must be greater than equal to 2 * K ` `    ``# and must be even ` `    ``if` `(check > ``0` `and` `check ``%` `2` `=``=` `0``): ` `        ``for` `i ``in` `range``(K ``-` `1``): ` `            ``print``(``"2 "``, end ``=` `"") ` `             `  `        ``print``(check) ` `    ``else``: ` `        ``print``(``"-1"``) ` ` `  `# Driver Code ` `N ``=` `8` `K ``=` `2` `sumEvenNumbers(N, K) ` ` `  `# This code is contributed by ANKITKUMAR34 `

## C#

 `// C# implementation to represent ` `// N as sum of K even numbers ` `using` `System; ` ` `  `class` `GFG{ ` `     `  `// Function to print the representation ` `static` `void` `sumEvenNumbers(``int` `N, ``int` `K) ` `{ ` `    ``int` `check = N - 2 * (K - 1); ` ` `  `    ``// N must be greater than equal to ` `    ``//  2 * K and must be even ` `    ``if` `(check > 0 && check % 2 == 0) ` `    ``{ ` `        ``for``(``int` `i = 0; i < K - 1; i++) ` `        ``{ ` `           ``Console.Write(``"2 "``); ` `        ``} ` `        ``Console.WriteLine(check); ` `    ``} ` `    ``else` `    ``{ ` `        ``Console.WriteLine(``"-1"``); ` `    ``} ` `} ` ` `  `// Driver Code ` `static` `public` `void` `Main(String []args) ` `{ ` `    ``int` `N = 8; ` `    ``int` `K = 2; ` ` `  `    ``sumEvenNumbers(N, K); ` `} ` `} ` ` `  `// This code is contributed by 29AjayKumar `

Output:

```2 6
```

Time Complexity: O(K) My Personal Notes arrow_drop_up