# Represent (2 / N) as the sum of three distinct positive integers of the form (1 / m)

• Last Updated : 07 Mar, 2022

Given a positive integer N, the task is to represent the fraction 2 / N as the sum of three distinct positive integers of the form 1 / m i.e. (2 / N) = (1 / x) + (1 / y) + (1 / z) and print x, y and z.
Examples:

Input: N = 3
Output: 3 4 12
(1 / 3) + (1 / 4) + (1 / 12) = ((4 + 3 + 1) / 12)
= (8 / 12) = (2 / 3) i.e. 2 / N
Input: N = 28
Output: 28 29 812

Approach: It can be easily inferred that for N = 1, there will be no solution. For N > 1, (2 / N) can be represented as (1 / N) + (1 / N) and the problem gets reduced to representing it as a sum of two fractions. Now, find the difference between (1 / N) and 1 / (N + 1) and get the fraction 1 / (N * (N + 1)). Therefore, the solution is (2 / N) = (1 / N) + (1 / (N + 1)) + (1 / (N * (N + 1))) where x = N, y = N + 1 and z = N * (N + 1).
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to find the required fractions``void` `find_numbers(``int` `N)``{``    ``// Base condition``    ``if` `(N == 1) {``        ``cout << -1;``    ``}` `    ``// For N > 1``    ``else` `{``        ``cout << N << ``" "` `<< N + 1 << ``" "``             ``<< N * (N + 1);``    ``}``}` `// Driver code``int` `main()``{``    ``int` `N = 5;` `    ``find_numbers(N);` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``class` `GFG``{` `// Function to find the required fractions``static` `void` `find_numbers(``int` `N)``{``    ``// Base condition``    ``if` `(N == ``1``)``    ``{``        ``System.out.print(-``1``);``    ``}` `    ``// For N > 1``    ``else``    ``{``        ``System.out.print(N + ``" "` `+ (N + ``1``) +``                             ``" "` `+ (N * (N + ``1``)));``    ``}``}` `// Driver code``public` `static` `void` `main(String []args)``{``    ``int` `N = ``5``;` `    ``find_numbers(N);``}``}` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 implementation of the approach` `# Function to find the required fractions``def` `find_numbers(N) :` `    ``# Base condition``    ``if` `(N ``=``=` `1``) :``        ``print``(``-``1``, end ``=` `"");` `    ``# For N > 1``    ``else` `:``        ``print``(N, N ``+` `1` `, N ``*` `(N ``+` `1``));` `# Driver code``if` `__name__ ``=``=` `"__main__"` `:` `    ``N ``=` `5``;` `    ``find_numbers(N);``    ` `# This code is contributed by AnkitRai01`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{` `// Function to find the required fractions``static` `void` `find_numbers(``int` `N)``{``    ``// Base condition``    ``if` `(N == 1)``    ``{``        ``Console.Write(-1);``    ``}` `    ``// For N > 1``    ``else``    ``{``        ``Console.Write(N + ``" "` `+ (N + 1) +``                          ``" "` `+ (N * (N + 1)));``    ``}``}` `// Driver code``public` `static` `void` `Main(String []args)``{``    ``int` `N = 5;` `    ``find_numbers(N);``}``}` `// This code is contributed by PrinciRaj1992`

## Javascript

 ``
Output:
`5 6 30`

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up