Related Articles

# Generate a pythagoras triplet from a single integer

• Last Updated : 30 Apr, 2021

Given a single integer n [1, 1000000000], generate a Pythagoras triplet which includes n as one of its sides if possible.
Examples :

Input : 22
Output : Pythagoras Triplets exist i.e. 22 120 122

Input : 4
Output : Pythagoras Triplets exist i.e.  4 3 5

Input : 2
Output : No Pythagoras Triplet exists 

Explanation:
Definition: “Pythagorean triplets” are integer solutions to the Pythagorean Theorem, i.e. they satisfy the equation Our task is to generate a triplet from an integral value. This can be a confusing task because, the side given to us can be a hypotenuse or a non-hypotenuse side.
Starting to calculate triplets by putting them in a formula, it can be deduced that only for 1 and 2, no triplets are possible.
Further,
if n is even, our triplets are calculated by formula if n is odd, our triplets are calculated by formula Proof:
Pythagoras Theorem can also be written as i.e a*a = (c-b)(c+b)
a*a x 1 = a*a, thus and , this solution works if n is odd.
For even solution, , thus, we get the above formula when n is even.
Code

## C++

 // CPP program to find Pythagoras triplet// with one side as given number.#include using namespace std; // Function, to evaluate the Pythagoras triplet// with includes 'n' if possiblevoid evaluate(long long int n){     if (n == 1 || n == 2)        printf("No Pythagoras Triplet exists");     else if (n % 2 == 0) {         // Calculating for even case        long long int var = 1LL * n * n / 4;        printf("Pythagoras Triplets exist i.e. ");        printf("%lld %lld %lld", n, var - 1, var + 1);    }     else if (n % 2 != 0) {         // Calculating for odd case        long long int var = 1LL * n * n + 1;        printf("Pythagoras Triplets exist i.e. ");        printf("%lld %lld %lld", n, var / 2 - 1, var / 2);    }} // Driver functionint main(){    long long int n = 22;    evaluate(n);    return 0;}

## Java

 // Java program to find// Pythagoras triplet// with one side as// given number.import java.io.*; class GFG{     // Function, to evaluate// the Pythagoras triplet// with includes 'n' if// possiblestatic void evaluate( int n){    if (n == 1 || n == 2)        System.out.println("No Pythagoras " +                           "Triplet exists");     else if (n % 2 == 0)    {         // Calculating for even case        int var = 1 * n * n / 4;        System.out.print("Pythagoras Triplets " +                                  "exist i.e. ");        System.out.print(n + " ");        System.out.print(var - 1+ " ");        System.out.println(var + 1 +" ");    }     else if (n % 2 != 0)    {         int var = 1 * n * n + 1;        System.out.print("Pythagoras Triplets " +                                  "exist i.e. ");        System.out.print(n + " ");        System.out.print(var / 2 - 1 + " ");        System.out.println(var / 2 + " ");    }} // Driver Codepublic static void main(String[] args){    int n = 22;    evaluate(n);}} // This code is contributed// by ajit

## Python3

 # Python3 program to find# Pythagoras triplet with# one side as given number. # Function, to evaluate the# Pythagoras triplet with# includes 'n' if possibledef evaluate(n):    if (n == 1 or n == 2):        print("No Pythagoras" +            " Triplet exists");    elif (n % 2 == 0):                 # Calculating for        # even case        var = n * n / 4;        print("Pythagoras Triplets" +             " exist i.e. ", end = "");        print(int(n), " ", int(var - 1),                      " ", int(var + 1));    elif (n % 2 != 0):                 # Calculating for odd case        var = n * n + 1;        print("Pythagoras Triplets " +             "exist i.e. ", end = "");        print(int(n), " ", int(var / 2 - 1),                         " ", int(var / 2)); # Driver Coden = 22;evaluate(n); # This code is contributed by mits

## C#

 // C# program to find// Pythagoras triplet// with one side as// given number.using System; class GFG{     // Function, to evaluate// the Pythagoras triplet// with includes 'n' if// possiblestatic void evaluate(int n){    if (n == 1 || n == 2)        Console.WriteLine("No Pythagoras " +                          "Triplet exists");         else if (n % 2 == 0)    {         // Calculating for even case        int var = 1 * n * n / 4;        Console.Write("Pythagoras Triplets " +                               "exist i.e. ");        Console.Write(n + " ");        Console.Write(var - 1+ " ");        Console.WriteLine(var + 1 +" ");    }     else if (n % 2 != 0)    {        int var = 1 * n * n + 1;        Console.Write("Pythagoras Triplets " +                               "exist i.e. ");        Console.Write(n + " ");        Console.Write(var / 2 - 1 + " ");        Console.WriteLine(var / 2 + " ");    }} // Driver Codestatic public void Main (){    int n = 22;    evaluate(n);}} // This code is contributed// by ajit

## PHP

 

## Javascript

 

Output:

Pythagoras Triplets exist i.e. 22 120 122

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.

My Personal Notes arrow_drop_up