Một bộ ba Pythagore là một tập hợp ba số nguyên dương A, B và C sao cho A2 + B2 = C2. Đưa ra một giới hạn, tạo ra tất cả các bộ ba Pythagore với các giá trị nhỏ hơn giới hạn đã cho.
Input : limit = 20 Output : 3 4 5 8 6 10 5 12 13 15 8 17 12 16 20
Một giải pháp đơn giản là tạo ra các bộ ba này nhỏ hơn giới hạn được cho bằng cách sử dụng ba vòng lồng nhau. Đối với mỗi bộ ba, hãy kiểm tra xem điều kiện Pythagore có đúng không, nếu đúng, sau đó in bộ ba. Độ phức tạp thời gian của giải pháp này là O [giới hạn3] trong đó ‘giới hạn được đưa ra giới hạn.Simple Solution is to generate these triplets smaller than given limit using three nested loop. For every triplet, check if Pythagorean condition is true, if true, then print the triplet. Time complexity of this solution is O[limit3] where ‘limit’ is given limit.
Một giải pháp hiệu quả có thể in tất cả các bộ ba trong thời gian O [k] trong đó k là số lượng ba bản in. Ý tưởng là sử dụng mối quan hệ tổng vuông của bộ ba Pythagore, tức là, việc bổ sung các hình vuông của A và B bằng với bình phương C, chúng ta có thể viết các số này theo m và n sao cho, & nbsp; & nbsp;Efficient Solution can print all triplets in O[k] time where k is number of triplets printed. The idea is to use square sum relation of Pythagorean triplet, i.e., addition of squares of a and b is equal to square of c, we can write these number in terms of m and n such that,
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n2
Chúng ta có thể thấy rằng A2 + B2 = C2, vì vậy thay vì lặp lại cho A, B và C, chúng ta có thể lặp lại cho M và N và có thể tạo các bộ ba này. & NBSP;
Dưới đây là việc thực hiện ý tưởng trên: & nbsp; & nbsp;
C++
#include
void
pythagoreanTriplets[
int
limit]
{
int
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n21
int
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n24
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n27
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
3 4 5 8 6 10 5 12 13 15 8 17 12 16 200
int
3 4 5 8 6 10 5 12 13 15 8 17 12 16 202
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 204
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 206
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 208
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
0 #include
1#include
2#include
3#include
4
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
63 4 5 8 6 10 5 12 13 15 8 17 12 16 200
#include
8#include
9a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
1a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
3
void
1
void
1
int
void
8
{
int
pythagoreanTriplets[
2
pythagoreanTriplets[
4
pythagoreanTriplets[
6 pythagoreanTriplets[
7
void
1
Java
pythagoreanTriplets[
9 int
0
pythagoreanTriplets[
9 int
2
int
3 int
4
int
6 void
pythagoreanTriplets[
int
limit]
{
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
limit]
5limit]
6#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
{
0{
1#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n27
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
3 4 5 8 6 10 5 12 13 15 8 17 12 16 200
int
0
1
2#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 204
#include
2
6{
1
8
#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 208
#include
2#include
0 #include
1
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n204
#include
3#include
4#include
2
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n208
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n210
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n212
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
void
13 4 5 8 6 10 5 12 13 15 8 17 12 16 203
void
3a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
1
void
1
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n222
int
6 void
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n225
{
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n230
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n231
#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
pythagoreanTriplets[
4
void
1
void
1
Python3
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n238
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n239
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n241
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
limit]
6a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n2444____81
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n248
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n252
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n253
3 4 5 8 6 10 5 12 13 15 8 17 12 16 200__915
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n258
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n263
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251__
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n268
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
{
1 a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n266
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n276
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n281
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251__
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
0 a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n287
#include
2#include
3
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n291
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n292
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n281
1#include
0
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2000
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2003
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2004
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2006
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n231
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2010
C#
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2011
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2012
int
3 int
4
int
6 void
pythagoreanTriplets[
int
limit]
{
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
limit]
5limit]
6#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
{
0{
1#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n27
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
3 4 5 8 6 10 5 12 13 15 8 17 12 16 200
int
0
1
23 4 5 8 6 10 5 12 13 15 8 17 12 16 203
{
#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 204
#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 206
#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 208
#include
2#include
0 #include
1
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n204
#include
3#include
4#include
2
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2052
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
#include
2
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n208
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n210
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n212
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
void
13 4 5 8 6 10 5 12 13 15 8 17 12 16 203
void
3
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n222
int
6 void
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n225
void
1
{
{
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
int
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n230
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n231
#include
4a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
pythagoreanTriplets[
4
void
1
void
1
a = m2 - n2
b = 2 * m * n
c = m2 + n2
because,
a2 = m4 + n4 – 2 * m2 * n2
b2 = 4 * m2 * n2
c2 = m4 + n4 + 2* m2 * n2
38 a = m2 - n2
b = 2 * m * n
c = m2 + n2
because,
a2 = m4 + n4 – 2 * m2 * n2
b2 = 4 * m2 * n2
c2 = m4 + n4 + 2* m2 * n2
39
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2081
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n241
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
limit]
6a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n2444____81
{
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2088
#include
4
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2091
#include
4
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2094
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2095
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n248
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n252
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n253
3 4 5 8 6 10 5 12 13 15 8 17 12 16 200__915
{
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n258
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n263
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251__
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
{
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n268
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
{
1 a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n266
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n276
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n242
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n261
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n260
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n281
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n251__
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
0 a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n287
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
0 3 4 5 8 6 10 5 12 13 15 8 17 12 16 200
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2094
#include
543 4 5 8 6 10 5 12 13 15 8 17 12 16 2084
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2085
#include
2#include
3#include
4
Các
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
1a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2097
#include
78
void
1
void
1
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2084
#include
84
pythagoreanTriplets[
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2084
#include
88#include
89
JavaScript
#include
90
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2082
3 4 5 8 6 10 5 12 13 15 8 17 12 16 2010
{
#include
95
#include
97
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n26
void
00
{
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n29
void
05a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
{
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 204
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 206
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
3 4 5 8 6 10 5 12 13 15 8 17 12 16 208
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
#include
0 #include
1#include
2#include
3#include
4
3 4 5 8 6 10 5 12 13 15 8 17 12 16 203
void
21a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
void
23void
24
a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n209
void
26void
27#include
88a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
1a = m2 - n2 b = 2 * m * n c = m2 + n2 because, a2 = m4 + n4 – 2 * m2 * n2 b2 = 4 * m2 * n2 c2 = m4 + n4 + 2* m2 * n28
void
3
void
1
void
1
void
36
pythagoreanTriplets[
4
void
38
Đầu ra
3 4 5 8 6 10 5 12 13 15 8 17 12 16 20
Độ phức tạp về thời gian của phương pháp này là O [k] trong đó k là số lượng ba lần được in cho một giới hạn nhất định [chúng tôi chỉ lặp cho M và N và mọi lần lặp lại đều in một bộ ba] biến of this approach is O[k] where k is number of triplets printed for a given limit [We iterate for m and n only and every iteration prints a triplet]
Auxiliary space: O[1] as it is using constant space for variables
Lưu ý: Phương pháp trên không tạo ra tất cả các bộ ba nhỏ hơn một giới hạn nhất định. Ví dụ: 9 12 12 15, đó là bộ ba hợp lệ không được in bằng phương pháp trên. Cảm ơn Sid Agrawal đã chỉ ra điều này. The above method doesn’t generate all triplets smaller than a given limit. For example “9 12 15” which is a valid triplet is not printed by above method. Thanks to Sid Agrawal for pointing this out.
References:
//en.wikipedia.org/wiki/Formulas_for_generating_Pythagorean_triples
Bài viết này được đóng góp bởi Utkarsh Trivingi. Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên.Utkarsh Trivedi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.