Đừng nói với ai, nhưng tôi đã đặt biệt danh cho cỗ máy du hành thời gian của chú tôi! Tuy nhiên, chú tôi bị ám ảnh bởi các số nguyên tố, và điều đó thể hiện trong máy - ông đã lập trình nó để nó chỉ có thể đi đến những ngày có tổng bằng số nguyên tố.
Vì vậy, nó không thể đi đến 1947-08-15
vì 1947 + 8 + 15 = 1970, đây không phải là số nguyên tố. Nó có thể đi đến 1947-07-25
, bởi vì 1947 + 7 + 25 = 1979, là số nguyên tố. Vì vậy, nếu tôi muốn quay lại để xem lễ kỷ niệm độc lập của Ấn Độ, có vẻ như tôi sẽ phải đi sớm hơn một vài tuần và chờ đợi 20 ngày đó.
Tôi có một số ngày khác mà tôi muốn đến và tương tự tôi sẽ phải đến một ngày trước đó (hoặc nếu tôi may mắn, bằng) ngày mục tiêu của tôi, tổng số đó là một số nguyên tố. Mặc dù vậy, tôi không kiên nhẫn và không muốn chờ đợi quá nhiều - vì vậy tôi muốn tìm ngày tôi có thể sử dụng gần nhất với ngày mục tiêu của mình.
Bạn có thể viết cho tôi một chương trình lấy ngày mục tiêu của tôi và cho tôi ngày tôi nên nhập vào cỗ máy thời gian - ngày gần nhất trước hoặc bằng với ngày đã cho có các phần cộng với số nguyên tố không?
(Đối với thử thách này, chúng tôi đang sử dụng lịch Gregorian phổ biến - điều này có nghĩa đơn giản là chúng tôi sử dụng lịch Gregorian hiện tại ngay cả trong những khoảng thời gian khi mọi người đang sử dụng lịch Julian cũ hơn.)
Đầu vào
- Một buổi hẹn hò
- lý tưởng, bất kỳ ngày nào trong Thời đại hiện tại (AD); thực tế, bất cứ tập hợp con nào của ngôn ngữ đó có thể tự nhiên xử lý
- trong bất kỳ định dạng nào con người có thể đọc được - bạn thích
Đầu ra
- Ngày gần nhất với ngày đầu vào, nhỏ hơn hoặc bằng đầu vào và có ngày + tháng + năm tính tổng bằng số nguyên tố.
- trong bất kỳ định dạng nào con người có thể đọc được - bạn thích
: "Con người có thể đọc được" như trong ngày, tháng và năm được viết riêng, theo bất kỳ thứ tự nào
Các trường hợp thử nghiệm
1947-08-15
=> 1947-07-25
1957-10-04
=> 1957-09-27
1776-07-04
=> 1776-07-04
999-12-12
=> 0999-12-10
2018-06-20
=> 2018-06-15
1999-01-02
=> 1998-12-29
1319-12-29
=> 1319-07-01
(Cảm ơn @Shaggy, @PeterTaylor và @Arnauld đã giúp đỡ với câu hỏi.)
Fri Jul 25 02:46:39 CEST 1947
)