مسابقه‌ی تصادفی

 
 
 برنامه
برنامهمسابقه كامپيوتر
مسابقه شماره ۱۹۴

سه دستور A,B و C داده شده‌اند که هر کدام به عنوان وروديي زوج مرتب (X , Y) را مي‌گيرد و خروجي زير را توليد مي‌کند :


    دستور A خروجي با مقدار (X + 3 , Y) را توليد مي‌کند.
    دستور B خروجي با مقدار (X , Y – 2) را توليد مي‌کند.
    دستور C خروجي با مقدار (X , Y)  را توليد مي‌کند.


به تعدادي دستور پشت سرهم يک (( برنامه )) مي‌گوييم. هر برنامه به عنوان ورودي زوج مرتب (X , Y) را مي‌گيرد و خروجي آن به صورت زير تعيين مي‌شود:


    دستور اول بر روي ورودي اجرا مي‌شود , سپس دستور دوم خروجي دستور اول را به عنوان ورودي دريافت مي‌کند و اجر مي‌شود , ... و دستور i + 1 ام خروجي دستور iام را به عنوان ورودي  دريافت مي‌کند و اجرا مي‌شود. خروجي برنامه , خروجي دستور آخر است. به طور مثال برنامه AAC را در نظر بگيريد که ورودي آن (1 , 2) است . خروجي اين برنامه (2 , 7) خواهد بود ( دستورها از چپ به راست اجر مي‌شوند).


فرض کنيد يک برنامه داريم که ورودي آن (2 , 1) و خروجي آن (8 , 5) است. حداقل تعداد دستورهاي اين برنامه چندتاست؟


الف ) 5                        ب ) 6


ج ) 7                        د ) 8


هـ ) 9

 



پاسخ


چون مقدار هر دو مولفه افزايش يافته‌اند و از بين دو دستور A و B فقط دستور A مقدار مولفه را افزايش مي‌دهد معلوم مي‌شود که در طول برنامه حتما بايد از دستور C استفاده کرد. از طرف ديگر چون دو عدد 1 و 5 به اندازه 4 واحد از هم اختلاف دارند ( که مضرب 3 نيست) بنابراين لازم است از دستور B نيز حتما استفاده شود و در ضمن در هر مرحله حداکثر 3 واحد به مجموع مولفه‌ها ( که در ابتدا 2 + 1 يعني 3 و در انتها 5 + 8 يعني 13 مي‌باشد) اضافه مي‌شود. بنابراين حداقل 4 بار نيز بايد از دستور A استفاده کرد که در اين صورت حداقل 6 دستور نياز خواهد بود. با 6 دستو به شکل زير مي‌ميتوان به هدف رسيد:

 




1391/4/30 لينک مستقيم

نظر شما پس از تاييد در سايت قرار داده خواهد شد
نام :
پست الکترونيکي :
صفحه شخصي :
نظر:
تایید انصراف
 المپیاد کامپیوتر

 

     

 

 

صفحه‌ي اصلي

     

 

راهنماي سايت

     

 

 

آموزش

     

 

بانك سوال

     

 

 

مسابقه

     

 

 

زنگ تفريح

     

 

 

مصاحبه و گزارش

     

 

 

معرفي كتاب

     

 

 

مشاوره

     

 

 

پرسش‌و‌پاسخ‌علمي

     

 

اخبار

 

فعاليت‌هاي علمي

 بازديدها
كاربران غيرعضو آنلاين كاربران غيرعضو آنلاين:   2135
  كاربران عضو آنلاين:   0
  کل كاربران آنلاين:   2135