তিনটি অ-নেতিবাচক পূর্ণসংখ্যা প্রদান করা হয়েছে y, mএবং d(যার মধ্যে কমপক্ষে একটি ইতিবাচক হতে হবে) এবং একটি ইতিবাচক বছর সহ একটি বৈধ তারিখ (যে কোনও যুক্তিসঙ্গত বিন্যাসে বছর, মাস এবং দিন অন্তর্ভুক্ত রয়েছে এবং কোনও অতিরিক্ত তথ্য নেই), আউটপুট আউটপুট তারিখটি yবছর, mমাস এবং dমূল তারিখের পরের দিন।
গ্রেগরিয়ান ক্যালেন্ডারটি সমস্ত তারিখের জন্য ব্যবহার করতে হয় (গ্রেগরিয়ান ক্যালেন্ডার গ্রহণের আগেও তারিখ)।
পরের তারিখের গণনার পদ্ধতিটি নিম্নরূপ:
yবছর যোগ করুনmমাসে যোগ করুন- রোলওভার প্রয়োগ করে তারিখটি সাধারণ করুন (যেমন
2018-13-01->2019-01-01) - যদি দিনটি মাসের শেষ দিনটি অতীত হয় তবে এটি মাসের শেষ দিনটিতে পরিবর্তন করুন (উদা
2018-02-30->2018-02-28) - যোগ
dদিন - রোলওভার প্রয়োগ করে তারিখটি সাধারণ করুন (যেমন
2019-01-32->2019-02-01)
লিপ বছর (4 বছর দ্বারা বিভাজ্য বছর, তবে 100 দ্বারা বিভাজ্য নয় যদি না 400 দ্বারা বিভাজ্যও হয়) যথাযথভাবে পরিচালনা করতে হবে। সমস্ত ইনপুট এবং আউটপুটগুলি আপনার ভাষার প্রতিনিধিত্বমূলক পূর্ণসংখ্যার ব্যাপ্তির মধ্যে থাকবে।
পরীক্ষার কেস
পরীক্ষার কেসগুলি ফর্ম্যাটটিতে সরবরাহ করা হয় input => output, যেখানে inputএকটি জেএসওএন অবজেক্ট।
{"date":"2018-01-01","add":{"d":1}} => 2018-01-02
{"date":"2018-01-01","add":{"M":1}} => 2018-02-01
{"date":"2018-01-01","add":{"Y":1}} => 2019-01-01
{"date":"2018-01-30","add":{"M":1}} => 2018-02-28
{"date":"2018-01-30","add":{"M":2}} => 2018-03-30
{"date":"2000-02-29","add":{"Y":1}} => 2001-02-28
{"date":"2000-02-29","add":{"Y":4}} => 2004-02-29
{"date":"2000-01-30","add":{"d":2}} => 2000-02-01
{"date":"2018-01-01","add":{"Y":2,"M":3,"d":4}} => 2020-04-05
{"date":"2018-01-01","add":{"Y":5,"M":15,"d":40}} => 2024-05-11
আপনি এই জেএসফিডেলটি পরীক্ষার জন্য ব্যবহার করতে পারেন ।
এই কোড-গলফ, সুতরাং সংক্ষিপ্ততম সমাধান (প্রতিটি ভাষায়) জিতেছে।
y, mএবং d(যেমন পারে d2147483000 হতে?)
All inputs and outputs will be within the representable integer range of your language.