Một bộ ba Pythagore bao gồm ba số nguyên dương a, b và c, sao cho a 2 + b 2 = c 2 . Một bộ ba như vậy thường được viết (a, b, c), và một ví dụ nổi tiếng là (3, 4, 5). Nếu (a, b, c) là bộ ba số Pythagore, thì (ka, kb, kc) cho bất kỳ số nguyên dương k nào. Một bộ ba Pythagore nguyên thủy là một trong đó a, b và c là nguyên tố cùng nhau .
Sử dụng kiến thức này, chúng ta có thể tạo ra một chuỗi bằng cách xâu chuỗi các độ dài nhỏ nhất của bộ ba, trong đó phần tử tiếp theo trong chuỗi là hypotenuse (số lớn nhất) của bộ ba Pythagore nguyên thủy nhỏ nhất chứa phần tử trước đó là phần tử nhỏ nhất.
Bắt đầu với bộ ba Pythagore nguyên thủy nhỏ nhất (3, 4, 5). Trình tự bắt đầu bằng 3
, và cạnh huyền (yếu tố tiếp theo trong chuỗi) là 5
. Sau đó tìm bộ ba Pythagore nguyên thủy nhỏ nhất bằng 5
một chân và bạn nhận được (5, 12, 13). Vì vậy, trình tự tiếp tục với 13
.
Hoặc xuất ra chuỗi mãi mãi hoặc lấy đầu vào số nguyên n
và xuất các n
phần tử đầu tiên của chuỗi, bằng 0 hoặc một chỉ mục.
Bạn cần hỗ trợ đầu ra ít nhất thông qua và bao gồm 28455997
, nhưng nếu giới hạn của loại dữ liệu bạn đang sử dụng đột nhiên được nâng lên, thì nó sẽ cần phải hoạt động cho giới hạn mới đó. Vì vậy, bạn không thể mã cứng một danh sách các số.
3
5
13
85
157
12325
90733
2449525
28455997
295742792965
171480834409967437
656310093705697045
1616599508725767821225590944157
4461691012090851100342993272805
115366949386695884000892071602798585632943213
12002377162350258332845595301471273220420939451301220405
Trình tự tương tự (không xuất ra những cái này!):
12325
.
85
... thuật ngữ tiếp theo của nó là 3613
(bạn có thể đoán nó là gì không?)