# Represent N as sum of K even numbers

• Difficulty Level : Expert
• Last Updated : 02 Mar, 2022

Given two integers N and K, the task is to represent N as the 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

Approach: To solve the problem mentioned above a simple solution is to maximize the occurrence of 2 which is the smallest even number. The necessary condition to represent N as the 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`

## Javascript

 ``

Output:

`2 6`

Time Complexity: O(K)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up