Những điều cần biết:
Đầu tiên, con số may mắn.
Những con số may mắn được tạo ra như vậy:
Lấy tất cả các số tự nhiên:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20...
Sau đó, loại bỏ từng số thứ hai.
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39...
Bây giờ, 3là an toàn.
Xóa mọi số thứ 3:
1, 3, 7, 9, 13, 15, 19, 21, 25, 27, 31, 33, 37, 39, 43, 45, 49, 51, 55, 59...
Bây giờ, 7là an toàn.
Xóa mọi số thứ 7.
Tiếp tục và xóa mọi nsố thứ tự, trong đón là số an toàn đầu tiên sau khi loại bỏ.
Danh sách cuối cùng của số an toàn là số may mắn.
Các số không may mắn bao gồm các danh sách riêng biệt của các số [U1, U2, U3... Un].
U1 là bộ số đầu tiên được xóa khỏi "ứng cử viên" may mắn, vì vậy chúng là:
2, 4, 6, 8, 10, 12, 14, 16, 18, 20...
U2 là bộ số thứ hai bị xóa:
5, 11, 17, 23, 29, 35, 41, 47, 53, 59...
Và cứ tiếp tục như vậy ( U3là danh sách thứ ba, U4là thứ tư, v.v.)
Thử thách:
Nhiệm vụ của bạn là, khi được đưa ra hai đầu vào mvà n, tạo msố thứ trong danh sách Un.
Ví dụ đầu vào và đầu ra:
(5, 2) -> 29
(10, 1) -> 20
Thông số kỹ thuật:
- Chương trình của bạn phải hoạt động
mtối đa1e6vàntối đa100.- Bạn được đảm bảo rằng cả hai
mvànlà số nguyên dương. - Nếu bạn tò mò,
U(1e6, 100)=5,333,213,163. (Cảm ơn bạn @pacholik!)
- Bạn được đảm bảo rằng cả hai
- Chương trình của bạn phải tính toán trong vòng 1 ngày trên một máy tính hiện đại hợp lý.
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
PS: Sẽ thật tuyệt nếu ai đó nghĩ ra một công thức chung để tạo ra những thứ này. Nếu bạn có một công thức, xin vui lòng đặt nó trong câu trả lời của bạn!
(1e6,1e6)?
n=1trường hợp? Vì đây là điều đặc biệt-- đối với tất cả các trường hợp khác, chỉ số dựa trên 0 của số may mắn tiếp theo là n-1.