لینک‌های مفید برای شرکت در مسابقه:

در زمان مسابقه می‌توانید سوال‌های خود را از قسمت "سوال بپرسید" مطرح کنید.

سری سوم راهنمایی‌ها به سؤالات اضافه شد.

تا نوروز


بخش فروش دیجی‌کالا تصمیم گرفته است که تعدادی offer استثنایی ارائه دهد. آن‌ها می‌خواهند تا عید نوروز سال آینده تخفیف ۸۰٪ روی برخی از اجناس اعمال کنند! حتی ممکن است چنین offer هایی در سال‌های آینده نیز ارائه شوند؛ لذا آن‌ها نیاز به برنامه‌ای برای محاسبه‌ی خودکار تعداد روزهای باقی‌مانده تا عید نوروز دارند.

از شما می‌خواهیم برنامه‌ای بنویسید که یک تاریخ شمسی از ورودی دریافت کرده و تعداد روزهای باقی‌مانده تا عید نوروز سال بعد، با محاسبه روز فعلی، را محاسبه کند.

نکته: فرض کنید که سال کبیسه نداریم؛ یعنی همه‌ی سال‌ها ۳۶۵ روزه هستند و شش ماه اول سال ۳۱ روزه، ۵ ماه بعدی، ۳۰ روزه و ماه آخر ۲۹ روزه است.

ورودی🔗

در یک خط از ورودی استاندارد (stdin)، رشته‌ی تاریخ (به صورت شمسی) با فرمت yyyy/mm/dd وارد می‌شود.

برای دریافت ورودی، می‌توانید از تابع readline استفاده کنید:

$date = readline();
PHP

خروجی🔗

در یک خط از خروجی استاندارد، تعداد روزهای باقی‌مانده تا عید نوروز سال بعد ورودی را چاپ کنید.

ورودی نمونه ۱:🔗

1398/11/10
Plain text

خروجی نمونه ۱:🔗

50
Plain text

ورودی نمونه ۲:🔗

1399/05/03
Plain text

خروجی نمونه ۲:🔗

239
Plain text

ورودی نمونه ۳:🔗

1396/01/01
Plain text

خروجی نمونه ۳:🔗

365
Plain text

راهنمایی ۱

برای حل این مسئله، می‌توانید آرایه‌ای شامل تعداد روزهای هر ماه در نظر بگیرید.

راهنمایی ۲

آرایه‌ی شامل تعداد روزهای هر ماه به‌صورت زیر خواهد بود:

$months = [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29];
PHP

با استفاده از تابع readline می‌توان ورودی را از stdin دریافت کرد. هم‌چنین، با استفاده از تابع explode می‌توان سال، ماه و روز را جدا کرد. در نهایت، با استفاده از تابع list می‌توان آرایه‌ی شامل سال، ماه و روز را در سه متغیر ذخیره کرد:

list($year, $month, $day) = explode('/', readline());
PHP
راهنمایی ۳

با استفاده از تابع array_slice می‌توان ماه‌های باقی‌مانده تا پایان سال را بر اساس آرایه‌ی $months جدا کرد:

$remained_months = array_slice($months, $month, count($months) - $month);
PHP

با استفاده از تابع array_sum می‌توان مجموع اعداد آرایه‌ی بالا را به‌دست آورد. بنابراین، تعداد روزهای باقی‌مانده تا عید نوروز سال بعد برابر خواهد بود با:

$remained_days = array_sum($remained_months) + $months[$month - 1] - $day + 1;
PHP
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.