# Program to Determine all Pythagorean Triplets in the Range in C++ and Python

In the previous article, we have discussed about Program to Print Collatz Conjecture for a Given Number in C++ and Python. Let us learn Program to Determine all Pythagorean Triplets in C++ Program.

A Pythagorean triplet is a collection of three positive numbers, a, b, and c, such that a^2 + b^2 = c^2.

Given a limit, find all Pythagorean Triples with values less than that limit.

Examples:

Example1:

Input:

given upper limit =63

Output:

printing the Pythagorean triplets till the upper limit 63 :
3 4 5
8 6 10
5 12 13
15 8 17
12 16 20
7 24 25
24 10 26
21 20 29
16 30 34
9 40 41
35 12 37
32 24 40
27 36 45
20 48 52
11 60 61

Example2:

Input:

given upper limit =175

Output:

printing the Pythagorean triplets till the upper limit 175 :
3 4 5
8 6 10
5 12 13
15 8 17
12 16 20
7 24 25
24 10 26
21 20 29
16 30 34
9 40 41
35 12 37
32 24 40
27 36 45
20 48 52
11 60 61
48 14 50
45 28 53
40 42 58
33 56 65
24 70 74
13 84 85
63 16 65
60 32 68
55 48 73
48 64 80
39 80 89
28 96 100
15 112 113
80 18 82
77 36 85
72 54 90
65 72 97
56 90 106
45 108 117
32 126 130
17 144 145
99 20 101
96 40 104
91 60 109
84 80 116
75 100 125
64 120 136
51 140 149
36 160 164

## Find all Pythagorean triplets in the given range in C++ and Python

A simple solution is to use three nested loops to generate these triplets that are less than the provided limit. Check if the Pythagorean condition is true for each triplet; if so, print the triplet. This solution has a time complexity of O(limit3), where â€˜limit’ is the stated limit.

An Efficient Solution will print all triplets in O(k) time, where k is the number of triplets to be printed. The solution is to apply the Pythagorean triplet’s square sum connection, i.e., addition of squares a and b equals square of c, and then represent these numbers in terms of m and n.

For every choice of positive integer m and n, the formula of Euclid creates PythagoreanÂ Triplets:

a=m^2 -n^2

b= 2 * m * n

c= m ^2 +n^2

Below is the implementation of efficient solution in C++ and Python:

Drive into Python Programming Examples and explore more instances related to python concepts so that you can become proficient in generating programs in Python Programming Language.

### 1)Finding all Pythagorean till the given limit in Python

Approach:

• Scan the upper limit or give static input and save the variable.
• Calculate the Pythagorean triplets using the formula with a while loop and for loop.
• If the c value exceeds the upper limit, or if a number equals 0, break from the loop.
• Print down all Pythagorean triplets’ three numbers.
• Exit of program.

Below is the implementation:

# enter the upper limit till you find pythagorean triplets
upper_limit = 63
n3 = 0
a = 2
print("printing the pythagorean triplets till the upper limit", upper_limit, ":")
while(n3 < upper_limit):
for b in range(1, a+1):
n1 = a*a-b*b
n2 = 2*a*b
n3 = a*a+b*b
if(n3 > upper_limit):
break
if(n1 == 0 or n2 == 0 or n3 == 0):
break
print(n1, n2, n3)
a = a+1


Output:

printing the Pythagorean triplets till the upper limit 63 :
3 4 5
8 6 10
5 12 13
15 8 17
12 16 20
7 24 25
24 10 26
21 20 29
16 30 34
9 40 41
35 12 37
32 24 40
27 36 45
20 48 52
11 60 61

Explanation:

The upper limit / input should be entered by a user as static, and stored in a variable.
The value of Pythagorean triplets using the formula is used during and for loops.
The loop breaks out if the value of a side is greater than the upper boundary, or if one side is 0.
The triplets will then be printed.

### 2)Finding all Pythagorean till the given limit in C++

Approach:

• Scan the upper limit using cin or give static input and save the variable.
• Calculate the Pythagorean triplets using the formula with a while loop and for loop.
• If the c value exceeds the upper limit, or if a number equals 0, break from the loop.
• Print down all Pythagorean triplets’ three numbers.
• Exit of program.

Below is the implementation:

#include <bits/stdc++.h>
using namespace std;
int main()
{

// enter the upper limit till you find pythagorean
// triplets
int upper_limit = 175;
int n3 = 0;
int a = 2;
cout << "printing the pythagorean triplets till the "
"upper limit"
<< upper_limit << ":" << endl;
while (n3 < upper_limit) {
for (int b = 1; b <= a; b++) {
int n1 = a * a - b * b;
int n2 = 2 * a * b;
n3 = a * a + b * b;
if (n3 > upper_limit)
break;
if (n1 == 0 or n2 == 0 or n3 == 0)
break;
cout << n1 << " " << n2 << " " << n3 << endl;
}
a = a + 1;
}
return 0;
}

Output:

printing the Pythagorean triplets till the upper limit175:
3 4 5
8 6 10
5 12 13
15 8 17
12 16 20
7 24 25
24 10 26
21 20 29
16 30 34
9 40 41
35 12 37
32 24 40
27 36 45
20 48 52
11 60 61
48 14 50
45 28 53
40 42 58
33 56 65
24 70 74
13 84 85
63 16 65
60 32 68
55 48 73
48 64 80
39 80 89
28 96 100
15 112 113
80 18 82
77 36 85
72 54 90
65 72 97
56 90 106
45 108 117
32 126 130
17 144 145
99 20 101
96 40 104
91 60 109
84 80 116
75 100 125
64 120 136
51 140 149
36 160 164

Related Programs: