Cho một số nguyên n(trong đó n < 10001) làm đầu vào, viết chương trình sẽ xuất các n số Ulam đầu tiên . Một số Ulam được định nghĩa như sau:
- U 1 =
1, U 2 =2. - Vì
n > 2, U n là số nguyên nhỏ nhất lớn hơn U n-1 , là tổng của hai số hạng khác nhau trước đó theo đúng một cách.
Ví dụ: U 3 là 3(2 + 1), U 4 là 4(3 + 1) (lưu ý rằng (2 + 2) không được tính là các thuật ngữ không khác biệt) và U 5 là 6, (U 5 không phải là 5 bởi vì 5 có thể được biểu diễn dưới dạng 2 + 3 hoặc 4 + 1). Dưới đây là một vài số Ulam đầu tiên:
1, 2, 3, 4, 6, 8, 11, 13, 16, 18, 26, 28, 36, 38, 47, 48, 53, 57, 62, 69, 72, 77, 82, 87, 97, 99
Đây là mã golf, vì vậy mục ngắn nhất sẽ thắng.
nchúng ta phải xử lý là gì?