در یک بازی هوپ، بازیکن با شماره های تا در حال بازی کردن هستند. به اینصورت که نفر اول از شروع میکند و نفر بعدی عدد و به همین ترتیب و بازی تا عدد ادامه پیدا میکند. اما بجای اعدادی که مضرب و هستند هوپ گفته میشود. برنامهای بنویسید که در خط اول را از کاربر گرفته و در خط بعدی که آخرین عدد بازی است را نیز از کاربر دریافت کند. سپس در خط بعدی اعدادی که بازیکنان میگویند را دریافت کند و اگر بازیکنی اشتباه بازی کرد، به ازای هربار اشتباهش، در خروجی در یک سطر جداگانه شمارهاش را چاپ کند.
0
وارد میشود.عدد اول حلقوی به عدد اولی گفته می شود که تمام اعدادی که از شیفت دادن ارقام این عدد به دست می آیند، نیز اول باشند. به طول مثال عدد اول حلقوی است، زیرا ، ، و همگی اعداد اول هستند.
برنامه ای بنویسید که تعداد نامشخصی عدد از ورودی بخواند و برای هر عدد، اگر اول حلقوی بود عبارت circular prime
و در غیر این صورت عبارت non-circular prime
را چاپ کند.
شرط پایان ورود اطلاعات وارد کردن عدد 0
است.
فامیل، پادشاه سرزمین دور، دستور داده است، تعدادی از جنایتکاران سرزمین دور توسط تیراندازهایی به سزای اعمالشان برسند. بدین ترتیب که جنایتکاران باید در یک ردیف بایستند و تیراندازها در مقابل آنها قرار میگیرند. سپس برای هر تیرانداز بازهای مشخص می شود و او به جنایتکارهای موجود در آن بازه تیراندازی میکند. از آنجایی که فامیل بسیار حساس و دلرحم است، بلافاصله بعد از مشاهدهی این صحنهی خشونتبار، دلش به رحم میآید و تصمیم میگیرد پزشکانی را برای درمان جنایتکاران به کار گیرد. پزشکان با توجه به تواناییهای خود، بازهای را مشخص میکنند که زخمیان موجود در آن بازه را درمان کنند تا شانس مجددی برای زندگی داشته باشند. برنامهای بنویسید که پس از اعدام جنایتکارها و عملیات امداد و نجات پزشکان، شمارهی جنایتکارهایی که زنده ماندهاند در خروجی را بدهد.
برنامه شما باید در خط اول که تعداد جنایتکاران است را بگیرد. در خط دوم که تعداد تیراندازها است را بگیرد و در خط بعدی، بازهی تیراندازی فرد تیرانداز را بگیرد. سپس که تعداد دکترها است را میگیرد و در خط بعدی، بازهی درمان هر دکتر را بگیرد.
مکان ایستادن همهی جنایتکارهای که زنده هستند در یک خط چاپ شوند.
زانا سالی یک بار یک جشن خاص برگزار میکند و تعدادی از دوستانش را به این جشن دعوت میکند. اسم این جشن «جشن هدیهها» است! هر فردی که در این جشن شرکت میکند مقداری پول به همراه خود دارد و به تعدادی از دوستانش هدیه میدهد. روش هدیه دادن در این جشن کمی عجیب است! هر کدام از افراد یک لیست هدیه دارد که در آن لیست، نام تعدادی از دوستانش که در جشن شرکت کردهاند نوشته شده است و تمام پولی که همراه دارد را بین افراد این لیست به طور مساوی تقسیم میکند و این پول را به آنها هدیه میدهد! چون پول اعشاری (کوچکتر از یک) نداریم ، این تقسیمها تقسیم صحیح هستند و اگر تقسیم پول بین اعضای لیست باقیماندهای داشته باشد ، فرد هدیهدهنده این باقیمانده را برای خود نگه میدارد. به طور مثال اگر ساینا ۱۱ واحد پول داشته باشد و در لیست او فقط سه نفر باشند ، به هر کدام از آنها ۳ واحد پول میدهد و ۲ واحد از پول خود را برای خود نگه میدارد.
حال شما برنامهای بنویسید که پس از گرفتن اسامی شرکت کنندگان، مقدار پول اولیهی هر کدام و لیست هدیه هر کس، مشخص کند که هرکسی چقدر سود یا زیان کرده است!
میتوانید فرض کنید نام هر دو نفر از افراد شرکتکننده در جشن متمایز است و
در خروجی باید خط چاپ کنید که در هر ابتدای هر خط نام هر شخص و بعد از آن مقدار سود او آورده شود. (اگر آن شخص ضرر کرده است، باید منفی مقدار ضرر چاپ شود.) ترتیب نامها در خروجی باید مانند ترتیب نامها در خطوط تا ورودی باشد.
حاج عبداله تصمیم دارد که برای آبیاری باغش از روش نوین آبیاری قطرهای استفاده کند. او نقشه محل قرارگیری منبع آب و درختان را در اختیار پسرش که یک مهندس است، قرار داده است و از او خواسته است تا کمترین متراژ لوله مورد نیاز برای آبرسانی از منبع آب به همه درختان را محاسبه کند. هر لوله به صورت خط مستقیم است و بین منبع آب و یک درخت و یا بین دو درخت قرار می گیرد. پسر حاج عبداله منبع آب را در مبدا صفحه مختصات قرار داده و مختصات هر درخت را به صورت دقیق نسبت به منبع آب محاسبه کرده است. او مختصات درختان را در اختیار شما قرار داده است و از شما خواسته است تا در محاسبه ی متراژ لولهی مورد نیاز به او کمک کنید.
در خط اول ورودی تعداد درختان () به شما داده می شود. در خط بعدی در هر خط دو عدد و آمده است که مختصات درخت ام را نشان می دهد.
شما باید کمترین متراژ لوله مورد نیاز برای آبیاری همهی درختان را تا دو رقم اعشار در خروجی چاپ کنید.
مختصات هر درخت تا دو رقم اعشار داده میشود.
حسام عاشق الفباست. همیشه دوست دارد همه چیز را به صورت الفبایی مرتب کند. علی بر عکس حسام است. همیشه دوست دارد همه چیز به صورت نامرتب باشد. آن ها برای پروژه پایانی درس زبان آماده می شوند. معلم از آنها خواسته است که یک سری لغت را از دیکشنری پیدا کنند و در یک جدول بنویسند. علی و حسام هم گروهی شده اند. از این رو آن ها در نوشتن ترتیب کلمات دچار اختلاف نظر شده اند. حسام می خواهد کلمات به صورت نزولی مرتب باشند. علی می گوید کلمات باید نامنظم باشند. آن ها از دوست خود امیر کمک خواستند. امیر برای حل این مشکل راه حل تازه ای به آنها پیشنهاد داد. قرار شد علی نظم حروف الفبا را مشخص کند. سپس حسام براساس این الفبای جدید, کلمات را مرتب کند.
خط اول شامل ۲۶ حرف الفبای علی است. این حروف به ترتیب و بدون فاصله در کنار هم قرار گرفته اند. به صورت زیر : خط دوم شامل یک عدد است. خط بعدی شامل کلماتی است که باید مرتب شوند. تمامی لغات شامل حروف کوچک الفبای انگلیسی می باشند.
خروجی شامل کلمات مرتب شده (به صورت نزولی) می باشد. هر خط شامل یک کلمه می باشد.
عدهای جاسوس در دانشگاه مستقر شدهاند!! آنها برای ارتباط با همدیگر از جدولهای حروف استفاده میکنند. این جدولها یک مستطیل هستند که در هر خانهشان فقط یک حرف قرار دارد. در هر جدول پیامی نهفته است که باید پیدا شود! با کمک حراست دانشگاه جدول های رمز جاسوسها پیدا شده، ولی مشکلی وجود دارد؛ کسی باید این جدولها را رمزگشایی کند! مسئولین دانشگاه از شما کمک خواستهاند! برای پیدا کردن رمز موجود در هر جدول به این ترتیب عمل میکنیم: حروف تکراری در سطر و ستون ها باید حذف شوند. به بیان دیگر یک حرف خط میخورد، اگر و فقط اگر در سطر و یا ستون متناظر آن، حداقل یک حرف دقیقا یکسان با آن حرف وجود داشته باشد. در این صورت همهی این حروف در آن سطر و ستون همزمان خط میخورند. وقتی همهی حروف تکراری خط خوردند از گوشهی بالا سمت چپ به ترتیب حروف را در یک رشته قرار میدهیم. رشتهی به دست آمده رمز نهفته در جدول است!
در خط اول دو عدد و داده میشود، هر کدام از خط بعدی حاوی کاراکتر لاتین هستند.
رمز حاصل را در یک خط مجزا چاپ کنید. (تضمین می شود که رمز حداقل یک حرف دارد)
یک تقاطع با خیابان منتهی به آن داریم. می خواهیم بوسیله یک چراغ راهنمای چندزمانه، بار ترافیکی این تقاطع را مدیریت کنیم. برای هر دو خیابان ، منتهی به این تقاطع، لازم است در دست کم یکی از زمان های این چراغ راهنما، امکان عبور امن بین ، وجود داشته باشد. عبور امن عبوری است که در آن اجازه عبور از خیابانی مثل به خیابانی مثل که عبور همزمان خودرو از آن منجر به تصادف با خودروی عبوری از ، میشود، داده نشده باشد. دقت کنید که خیابانهای منتهی به چهارراه دوطرفه هستند، بنابراین عبور از x به y معادل عبور از به نیست. برنامه ای بنویسید که حداقل تعداد زمان های این چراغ راهنما را محاسبه کند.
در خط اول، ورودی شامل () تعداد خیابان ها و () تعداد عبورهای حادثه ساز است.
ورودی با خط دنبال میشود که در هر خط ۴ عدد ، ، ، داده خواهد شد؛ بدین معنی که اگر همزمان بین دو خیابان ، و دو خیابان ، عبور انجام گیرد، حادثه ساز خواهد بود.
در تنها سطر خروجی، حداقل تعداد زمان های این چراغ را چاپ کنید.
معلم زبان هادی برای سرگرم کردن دانشآموزانش، تصمیم گرفت یک تمرین طاقتفرسا به دانشآموزانش بدهد تا در کلاس شروع به حل آن کنند. از آنجایی که ایشون معلم زبان بود و معلم ریاضی نبود که به دانشآمورانش بگوید ۱ تا ۱۰۰ را جمع کنید، تصمیم گرفت جملات انگلیسی را به دانشآموزان بدهد تا آن جملات را به فینگلیش ترجمه کنند! با توجه به اینکه هادی پسر باهوشی است و ضایع است که بنشیند مانند سایر دانشآموزان دستی جملات را ترجمه کند از هوشش استفاده میکند و از شما میخواهد که برنامهای بنویسید که کار ترجمه را برایش انجام دهد!
توجه کنید که با توجه به دانش پایین دانشآموزان در زبان لاتین، جملاتی که این معلم دلسوز برای شاگردانش انتخاب کردهاست بسیار ساده بوده و از قالب و کلمات محدودی پیروی میکنند که در پایین به آنها اشاره میکنیم.
کلماتی که برنامهی شما میتواند ترجمه کند، کلماتی محدود هستند که در جداول زیر نشان داده شدهاند. برنامهی شما هر کلمه را با جدول کلماتی که در خود دارد تطبیق میدهد و معادل آن را استخراج مینماید. سپس کلمات معادل را در قالب جمله فارسی به خروجی میدهد.
هر جملهی ورودی یک جملهی سه کلمهای انگلیسی است که کلمهی اول آن نهاد، کلمهی دوم فعل و کلمهی سوم صفت است. به عبارت دیگر رشتهی ورودی صحیح به صورت [صفت] [فعل] [نهاد] است و با نقطه تمام میشود. هر رشتهی خروجی یک جملهی سه کلمهای فینگلیش است که کلمهی اول آن نهاد، کلمهی دوم صفت و کلمهی سوم فعل است. به عبارت دیگر قالب هر جملهی خروجی به صورت [فعل] [صفت] [نهاد] است که با نقطه تمام میشود.
کلماتی که مترجم در هر جایگاه میشناسد در جداول زیر آمدهاند.
Translate | Subject |
---|---|
Man | I |
Shoma | You |
Ma | We |
Anha | They |
Oo | She |
Oo | He |
مورد نظر برای ترجمه در جدول زیر لیست شدهاند:
Translate | if | Verb |
---|---|---|
ast | ------ | is |
hastam | ------ | am |
hastid | Subject is You | are |
hastand | Subject is They | are |
hastim | Subject is We | are |
hast… | Subject is not You or They or We | are |
Translate | Adjective |
---|---|
nadan | stupid |
aali | excellent |
mobtadi | noob |
khafan | geek |
daneshju | student |
ostad | professor |
به نکات زیر توجه کنید:
در خط اول، تعداد جملههای ورودی و در هر خط بعد، جملهای سه کلمهای که با نقطه به پایان میرسد، داده خواهدشد. توجه داشته باشید که نقطه با کلمه آخر فاصله ندارد.
در صورتی که ورودی به قالب خواستهشده (سه کلمهای با نقطهی پایانی) باشد، ترجمه انجام می شود و جملهی حاصل از ترجمه به عنوان خروجی داده میشود. در غیر این صورت عبارت !Not Supported Yet
به عنوان خروجی چاپ میشود. توجه داشته باشید که در هر خط یک خروجی چاپ میشود.
شکلات تخته ای یک مستطیل با سطر و ستون است که با خانه های شکلات پر شده است. رییس کارخانه شکلاتسازی به تازگی متوجه شده است که در خانه شکلاتهایش باکتری رشد کرده است. مهندسین اپتیک لیزرهایی ساختهاند با این ویژگی که اگر نور حداقل یک لیزر به باکتریها بخورد، آن باکتریها جان به جان آفرین تسلیم می کنند! رئیس کارخانه می خواهد لیزرها را در سطرها و یا ستونها به صورت عمودی یا افقی قرار دهد به طوری که شکلاتها را از باکتریها پاکسازی کند. چون هزینه خرید هر لیزر زیاد است از شما برنامهنویسان مجرب (!) کمک می خواهد که کمترین تعداد لیزرهای مورد نیاز را پیدا کند. ابتدا تعداد سطرها و تعداد ستون های شکلات به شما داده می شود. در خط بعدی عدد داده می شود. در خط بعدی در هر خط دو عدد داده می شود که عدد اول شماره سطر و عدد دوم شماره ستون خانه آلوده است. در تنها خط خروجی باید حداقل تعداد لیزرهای مورد نیاز را چاپ کنید.