HW5_Revised.pdf

‫تمرین سری پنجم‬
‫تاریخ تحویل تمرین ‪ 15‬آذر ‪1392‬‬
‫درس مبانی برنامهسازی‬
‫‪CE153‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2013‬‬
‫‪1‬‬
‫توضیحات اولیه‬
‫‪ ‬آخرین مهلت تحویل تمرین‪ ،‬ساعت ‪ 23:59‬دقیقه روز جمعه‪ ،‬پانزدهم آذر ماه‬
‫می باشد‪.‬‬
‫‪ ‬بعد از اتمام زمان ارسال‪ ،‬تا ‪ 3‬روز می توانید تمرین های خود را با تاخیر ارسال‬
‫نمایید‪ .‬به ازای هر ساعت تاخیر ‪ 1%‬از نمره ی شما کسر می شود‪.‬‬
‫‪ ‬خروجی تمرین ها فقط موارد خواسته شده باشد‪.‬‬
‫‪2‬‬
‫سوال اول‬
‫‪ ‬مانا و امین یک آرایه در اختیار دارند که قرار است بین خودشان تقسیم‬
‫کنند‪ ،‬به این منظور جایی از آرایه را انتخاب می کنند و تمامی عناصر سمت‬
‫چپ این عنصر به همراه همین عنصر‪ ،‬ازآن امین و عناصر سمت راستی به مانا‬
‫می رسد‪ .‬سپس هر کس به اندازه ی جمع اعدادش پول دریافت می کند‪.‬‬
‫امین میخواهد طوری این کار را انجام دهد که بیشترین تعداد عدد نصیب‬
‫خودش شود‪ ،‬امّا از آنجا که میخواهد کسی متوجه قصد شوم او نشود‪،‬‬
‫طوری برنامه ریخته است که نتیجهی ‪( or‬یای منطقی) پول مانا و پول خودش‬
‫تا حدّ ممکن کم شود‪ .‬با نوشتن برنامه ای به او کمک کنید بهترین تقسیم را‬
‫پیدا کند‪.‬‬
‫‪ ‬محدودیت ها ‪:‬‬
‫همه ی اعداد نامنفی و کوچکتر از ‪ 7+109‬هستند‪.‬‬
‫‪1 ≤n ≤1000000‬‬
‫‪3‬‬
‫سوال اول‬
‫‪ ‬ورودی‪:‬‬
‫در خط اول ابتدا یک عدد ‪ n‬آمده سپس در خط بعدی ‪ n‬عدد می آیند که با یک‬
‫فاصله از هم جدا شده اند‪ .‬همه ی اعداد نامنفی اند‪.‬‬
‫‪ ‬خروجی‪:‬‬
‫خروجی باید شامل سه مقدار پول امین‪ ،‬مانا و نتیجه ی یای منطقی آنها شود‪.‬‬
‫‪ ‬نمونه ی ورودی و خروجی‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪3‬‬
‫‪321‬‬
‫‪333‬‬
‫‪4‬‬
‫‪8128‬‬
‫‪11 8 11‬‬
‫‪4‬‬
‫سوال اول‬
‫‪ ‬در مثال باال می توانیم به پنج طریق تقسیم را انجام دهیم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫(‪19=)0(|)8+1+2+8‬‬
‫(‪11 = )8( | )2+1+8‬‬
‫(‪11 = )2+8( |)1+8‬‬
‫(‪11=)1+2+8(|)8‬‬
‫(‪19=)8+1+2+8(|)0‬‬
‫که در حالت دوّم هم یای منطقی کم شده‪ ،‬هم پول امین زیاد‪.‬‬
‫‪5‬‬
‫سوال دوم‬
‫‪ n ‬بازه ی دو به دو مجزا داریم‪ .‬هدف پاسخ دادن به این پرسش است که عدد‬
‫‪x‬در کدام بازه قرار دارد‪.‬‬
‫‪ ‬ورودی‪:‬‬
‫‪ ‬در خط اول عدد ‪n‬وارد میشود‪ .‬در ‪n‬خط بعد‪ ،‬در خط ‪i‬م دو عدد طبیعی‬
‫‪ai‬و ‪bi‬قرار دارد که نشانگر بازه ی )‪ [ai, bi‬است‪ .‬در خط بعدی عدد ‪m‬قرار‬
‫دارد‪ .‬در ‪m‬خط بعدی در هر خط یک (‪ )xi‬قرار دارد‪.‬‬
‫‪ ‬خروجی‪:‬‬
‫‪ ‬برای هر ‪xi‬اندیس بازه ای را که در آن قرار دارد چاپ کنید‪ .‬اگر در هیچ‬
‫بازه ای قرار نداشت‪ ،‬صفر چاپ کنید‪.‬‬
‫‪6‬‬
‫سوال دوم‬
‫‪ ‬محدودیت ها‪:‬‬
‫زمان اجرا ‪1‬ثانیه ‪ ،‬حافظه ‪16‬مگابایت‬
‫‪1‬‬
‫‪ ‬ورودی و خروجی نمونه‬
‫خروجی نمونه‬
‫ورودی نمونه‬
‫‪3‬‬
‫‪48‬‬
‫‪8 10‬‬
‫‪13‬‬
‫‪3‬‬
‫‪8‬‬
‫‪3‬‬
‫‪11‬‬
‫‪2‬‬
‫‪0‬‬
‫‪0‬‬
‫‪7‬‬
‫سوال سوم‬
‫‪ ‬امین قرار است به مینا ریاضی یاد دهد‪ ،‬امّا متاسفانه خودش اصال بلد نیست و‬
‫از شما کمک خواسته تا در این مهم او را یاری کنید‪ .‬در راستای بهبود روابط‬
‫بین امین و مینا برنامه ای بنویسید که با گرفتن مجموعه ای از کاراکتر ها به‬
‫عنوان اعداد ممیزدار و یا کسری گویا و عملگر های بین آنها‪ ،‬حاصل عبارت‬
‫را به شکل ساده ترین کسر گویا که صورت و مخرج آن نسبت به هم اول‬
‫اند نمایش دهد‬
‫‪ ‬محدودیت ها‪ :‬مخرج کسرها ناصفر است‪ ،‬در صورتی که مخرج جواب‬
‫نهایی محاسبه شده ‪ 1‬بود نباید در خروجی چاپ شود‬
‫‪8‬‬
‫سوال سوم‬
‫‪ ‬ورودی و خروجی نمونه‬
‫خروجی نمونه‬
‫ورودی نمونه‬
‫‪1/8+0.25-1/4+5/8‬‬
‫‪3/4‬‬
‫‪1/3+2/3‬‬
‫‪1‬‬
‫‪-1/8 - 2/-8‬‬
‫‪1/8‬‬
‫‪9‬‬
‫سوال چهارم‬
‫‪ ‬برنامه ای بنویسید که با دریافت ‪ n‬عدد از کاربر دوعدد بین آنها پیدا کند که‬
‫حاصل ب‪.‬م‪.‬م آنها از بین تمامی زوجهای ممکن دیگر بزرگ باشد‪.‬‬
‫درصورتی وجود چندین زوج‪ ،‬آنهایی را چاپ کند که مجموعشان کمینه‬
‫است‪.‬‬
‫‪ ‬محدودیت ها‪:‬‬
‫همه ی اعداد نامنفی و کوچکتر مساوی ‪100000‬‬
‫حافظه ‪16‬مگابایت و زمان اجرای ‪ 1‬ثانیه‬
‫‪ ‬ورودی و خروجی‬
‫در خط اول ابتدا یک عدد ‪ n‬و سپس در خط بعد ‪ n‬عدد میآیند که با فاصله‬
‫از هم جدا شدهاند‪.‬‬
‫در خروجی تنهاسه عدد شامل ب‪.‬م‪.‬م و دو عدد جواب را چاپ کنید‪ .‬عدد‬
‫دوّم را عدد بزرگتر فرض کنید‪.‬‬
‫‪10‬‬
‫سوال چهارم‬
‫‪ ‬ورودی و خروجی نمونه‬
‫خروجی نمونه‬
‫ورودی نمونه‬
‫‪6‬‬
‫‪123456‬‬
‫‪336‬‬
‫‪10‬‬
‫‪12 15 13 10 5 18 16 17 14 3‬‬
‫‪6 12 18‬‬
‫‪11‬‬
‫سوال پنجم (امتیازی)‬
‫‪ ‬برنامه ای بنویسید که در خط اول تعداد اعضای آرایه ( کمتر از ‪ ) 10000‬را‬
‫بگیرد و در خط بعد اعضای آرایه را‪.‬‬
‫‪ ‬در خط اول خروجی باید طول بزرگترین رشته ی مرتب ِ موجود در آرایه‬
‫چاپ شود‪ .‬مرتب منظور صعودی یا نزولی است‪.‬‬
‫‪ ‬ورودی و خروجی نمونه‬
‫خروجی نمونه‬
‫ورودی نمونه‬
‫‪5‬‬
‫‪65231‬‬
‫‪4‬‬
‫‪ ‬در مثال باال ‪ 1 3 5 6‬یا ‪ 1 2 5 6‬بزرگترین رشته ی مرتب اند‪.‬‬
‫‪12‬‬