কাউকে বলবেন না, তবে আমি আমার মামার সময় ভ্রমণের মেশিনকে টিকিয়েছি! যদিও আমার মামা প্রাইম সংখ্যাগুলিতে আকস্মিক হয়ে আছেন, এবং এটি মেশিনে দেখায় - তিনি এটি প্রোগ্রাম করেছেন যাতে এটি কেবলমাত্র একটি প্রধান সংখ্যা পর্যন্ত সংখ্যক তারিখগুলিতে যেতে পারে।
সুতরাং এটি যেতে পারে না 1947-08-15
কারণ 1947 + 8 + 15 = 1970, যা কোনও মৌলিক সংখ্যা নয়। এটা তোলে করতে যান 1947-07-25
, কারণ 1947 + 7 + 25 = 1979, যা মৌলিক নয়। সুতরাং আমি যদি ভারতের স্বাধীনতা উদযাপনগুলি দেখতে ফিরে যেতে চাই তবে মনে হয় আমাকে কয়েক সপ্তাহ আগে যেতে হবে এবং সেই 20 দিন অপেক্ষা করতে হবে।
আমার আরও কয়েকটি তারিখ রয়েছে যেটিতে আমি যেতে চাই এবং একইভাবে আমার টার্গেটের তারিখের আগে (বা আমি ভাগ্যবান, সমান) একটি তারিখে যেতে হবে, এটি একটি মূল সংখ্যার সমান। যদিও আমি অধৈর্য, এবং খুব বেশি অপেক্ষা করতে চাই না - তাই আমি যে তারিখটি আমি ব্যবহার করতে পারি তা আমার লক্ষ্য তারিখের সবচেয়ে কাছের সন্ধান করতে চাই।
আপনি কি আমাকে এমন একটি প্রোগ্রাম লিখতে পারেন যা আমার টার্গেটের তারিখ নেয় এবং আমাকে টাইম মেশিনে ইনপুট করার তারিখটি দেয় - প্রদত্ত তারিখের নিকটতম বা সমান অংশ যার অংশগুলি একটি মৌলিক সংখ্যায় যোগ করে?
(এই চ্যালেঞ্জের জন্য, আমরা প্রলেপটিক গ্রেগরিয়ান ক্যালেন্ডার ব্যবহার করছি - যার সহজ অর্থ হ'ল আমরা বর্তমান গ্রেগরিয়ান ক্যালেন্ডার এমনকি পিরিয়ডের জন্যও ব্যবহার করি যখন লোকেরা তখনকার বয়স্ক জুলিয়ান ক্যালেন্ডার ব্যবহার করছিল))
ইনপুট
- একটি তারিখ
- আদর্শভাবে, বর্তমান যুগের কোনও তারিখ (AD); ব্যবহারিকভাবে, আপনার ভাষা প্রাকৃতিকভাবে পরিচালনা করতে পারে যে উপসেট
- যে কোনও একক মানব-পঠনযোগ্য ফর্ম্যাটে- আপনার পছন্দ
আউটপুট
- ইনপুট তারিখের নিকটতম তারিখ, যা ইনপুটটির চেয়ে কম বা সমান এবং যার তারিখ + মাস + বছর মূল সংখ্যার সমষ্টি।
- যে কোনও একক মানব-পঠনযোগ্য ফর্ম্যাটে- আপনার পছন্দ
।: দিন, মাস এবং বছরের মতো "মানব পাঠযোগ্য" যা আলাদাভাবেই হোক না কেন
পরীক্ষার মামলা
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
(প্রশ্নটির সহায়তার জন্য @ শেগি, @ পিটারটেলর এবং @ আরনাউল্ডকে ধন্যবাদ জানাই))
Fri Jul 25 02:46:39 CEST 1947
)