Chuỗi các số được phân đoạn hoặc số nguyên tố đo ( OEIS A002048 ) là dãy số sao cho mỗi thành viên là số dương nhỏ nhất (lớn hơn 0) không thể tạo thành tổng của các số liên tiếp trước đó, với a(0) = 1.
Thí dụ
Để tính toán a(7)trước tiên chúng ta tính toán a(0->6) = [1, 2, 4, 5, 8, 10, 14]. sau đó chúng tôi bắt đầu từ số 0 và đi qua các số cho đến khi chúng tôi tìm thấy một số không phải là tổng của một hoặc nhiều số liên tiếp trong chuỗi.
1 = 1
2 = 2
3 = 1 + 2
4 = 4
5 = 5
6 = 2 + 4
7 = 1 + 2 + 4
8 = 8
9 = 4 + 5
10 = 10
11 = 2 + 4 + 5
12 = 1 + 2 + 4 + 5
13 = 5 + 8
14 = 14
15 = ????
Vì mười lăm không thể được thực hiện bằng cách tính tổng bất kỳ chuỗi liên tiếp nào và mỗi số nhỏ hơn có thể là mười lăm là số tiếp theo trong chuỗi. a(7) = 15
Bài tập
Nhiệm vụ của bạn là lấy một số (thông qua các phương thức tiêu chuẩn) và xuất ra số hạng thứ n trong chuỗi này (thông qua các phương thức đầu ra tiêu chuẩn). Đây là môn đánh gôn và bạn sẽ được ghi điểm như vậy.
Các trường hợp thử nghiệm
0 -> 1
1 -> 2
2 -> 4
3 -> 5
4 -> 8
5 -> 10
6 -> 14
7 -> 15
8 -> 16
9 -> 21
()để làm cho nó hoạt động đúng. Phần được áp dụng!!là một phần toán tử và phải được đặt trong()để làm cho nó trở thành một hàm. Không có nó chỉ là một đoạn mã chỉ trở thành một hàm (hoặc "giá trị" để sử dụng các thuật ngữ Haskell nghiêm ngặt) với đối số bị thiếu.