HW2.pdf

‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۸۹/۰۱/۱۸‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫"ﻮه ارﺳﺎل‬
‫ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺗﻤﺮﻳﻦ را در ﻳﻚ ﻓﺎﻳﻞ ﺑﻪ ﺻﻮرت ‪ HWxx.cpp‬ﻗﺮار دﻫﻴﺪ ﻛﻪ ‪ xx‬ﺷﻤﺎره آن ﺗﻤﺮﻳﻦ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﻛﺪ ﺗﻤﺮﻳﻦ اول‬
‫در ﻓﺎﻳﻠﻲ ﺑﻪ ﻧﺎم ‪ HW01.cpp‬ﻗﺮار ﻣﻲ ﮔﻴﺮد ‪،‬ﺳﭙﺲ ﺗﻤﺎﻣﻲ ﻛﺪ ﻫﺎي ﺧﻮد را ﻛﻨﺎر ﻫﻢ ﻗﺮار داده و آن ﻫﺎ را ‪ zip‬ﻧﻤﺎﻳﻴﺪ و اﺳﻢ ﻓﺎﻳﻞ‬
‫زﻳﭗ را ﺑﻪ ﺻﻮرت ‪ HW2_STDID.zip‬ﻗﺮار دﻫﻴﺪ‪ ،‬ﻛﻪ ‪ STDID‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ ﻣﺜﻞ ‪ HW2_8912345.zip‬و آنرا‬
‫در ﻣﻮﻋﺪ ﻣﻘﺮر ﺑﻪ آدرس اﻳﻤﻴﻞ ‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :1‬ﺑﻪ ﺗﻤﺮﻳﻨﺎﺗﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﺎﻏﺬي ﺗﺤﻮﻳﻞ ﺷﻮﻧﺪ‪ ،‬ﻳﺎ اﺳﻜﻦ ﺷﻮﻧﺪ‪ ،‬ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ در ﻓﺮﻣﺖ ﻓﺎﻳﻞ‬
‫‪ cpp‬ﻧﻮﺷﺘﻪ ﺷﺪه و ﺑﺎ ﻳﻚ ﻛﺎﻣﭙﺎﻳﻠﺮ ‪ c/c++‬ﺗﺴﺖ و اﺟﺮا ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :2‬از ارﺳﺎل ﻓﺎﻳﻞ اﺟﺮاﻳﻲ ﺑﻪ ﻫﻤﺮاه ﺳﻮرس‪ ،‬ﺧﻮدداري ﻛﻨﻴﺪ‪ .‬ﺳﻴﺴﺘﻢ ‪ gmail‬و اﻛﺜﺮ ﺳﺮوﻳﺲﻫﺎي اﻳﻤﻴﻞ از درﻳﺎﻓﺖ ﻓﺎﻳﻞ اﺟﺮاﻳﻲ‬
‫)ﺣﺘﻲ اﮔﺮ در داﺧﻞ ﻓﺎﻳﻞ ‪ zip‬ﺑﺎﺷﻨﺪ( ﺧﻮدداري ﻣﻲﻛﻨﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺴﺌﻮﻟﻴﺖ ﻧﺮﺳﻴﺪن ﭼﻨﻴﻦ اﻳﻤﻴﻞﻫﺎﻳﻲ ﺑﻌﻬﺪه داﻧﺸﺠﻮ اﺳﺖ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :3‬از ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎ ﺑﻪ ﮔﺮوه درس ﺧﻮدداري ﻛﻨﻴﺪ! و ﺣﺘﻤﺎ ﺑﻪ ﻫﻨﮕﺎم وارد ﻧﻤﻮدن آدرس اﻳﻤﻴﻞ ﮔﻴﺮﻧﺪه )ﺑﺨﺼﻮص در ‪(gmail‬‬
‫دﻗﺖ ﻛﻨﻴﺪ‪ ،‬ﺗﺎ اﺷﺘﺒﺎﻫﺎ آدرس ﮔﺮوه ﺑﻪ ﺟﺎي آدرس اﻳﻤﻴﻞ ﺗﻤﺮﻳﻦﻫﺎ وارد ﻧﺸﺪه ﺑﺎﺷﺪ‪.‬‬
‫روش ارزﻳﺎ‪#$‬‬
‫ﻋﻨﻮان‬
‫ارزﻳﺎﺑﻲ‬
‫در زﻣﺎن ﻣﻘﺮر‬
‫*‬
‫‪%100‬‬
‫ﺗﺎ ‪ 1‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%60‬‬
‫ﺑﻴﺶ از ﻳﻚ روز و ﺗﺎ ‪ 3‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%30‬‬
‫ﺑﻴﺶ از ﺳﻪ روز و ﺗﺎ ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%20‬‬
‫ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%0‬‬
‫ﺗﻘﻠﺐ‪ ،‬ﻛﭙﻲ ﺑﺮداري و ﻣﻮاردي از اﻳﻦ ﻗﺒﻴﻞ‬
‫*درﺻﺪﻫﺎي ﻓﻮق ﻧﺴﺒﺖ ﺑﻪ ﻧﻤﺮه ﻛﺴﺐ ﺷﺪهي ﺗﻤﺮﻳﻦ ﺗﻮﺳﻂ داﻧﺶﺟﻮ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬اﻳﻦ ﺗﻤﺮﻳﻦ داراي ‪ 200‬ﻧﻤﺮه اﺳﺖ‪.‬‬
‫» ﺑﺎ ﺗﺸﻜﺮ از آﻳﺪﻳﻦ ﻧﺼﻴﺮي ﺷﺮق و ﻛﻮﺷﺎ ﻣﻴﺮﺣﺴﻴﻨﻲ «‬
‫)ﻧﻤﺮه ﻛﺎﻣﻞ ﺗﻤﺮﻳﻦ( * ‪-1‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۸۹/۰۱/۱۸‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ اول‪ :‬ﻣﯿﺎﻧﮕ*) ﻫﺎ‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﺣﺴﺎﺑﻲ ‪ ،‬ﻫﻨﺪﺳﻲ و اﻗﻠﻴﺪﺳﻲ‪ n ،‬ﻋﺪد را ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ‪ .‬در ورودي اﺑﺘﺪا ﻋﺪد ‪) n‬ﺗﻌﺪاد اﻋﺪاد( آﻣﺪه‬
‫اﺳﺖ و ﺳﭙﺲ در ﻫﺮ ﻳﻚ از ‪ n‬ﺳﻄﺮ ﺑﻌﺪي‪ ،‬در ﻫﺮ ﺳﻄﺮ ﻳﻚ ﻋﺪد آﻣﺪه اﺳﺖ‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪3.666666667‬‬
‫‪3.419951893353394‬‬
‫‪6.708203932499369‬‬
‫‪3‬‬
‫‪2‬‬
‫‪4‬‬
‫‪5‬‬
‫ﺮﯾﻦ دوم‪ :‬ﺟﺪول ﺿﺮب‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﺳﭙﺲ ﺟﺪول ﺿﺮب ‪ n * n‬را ﺑﺼﻮرت ﻣﺘﻮازن و ﺑﺎ رﻋﺎﻳﺖ ﻓﺎﺻﻠﻪ ﭼﺎپ ﻛﻨﺪ‪ .‬ﻋﺪد‬
‫‪ n‬ﻛﻮﭼﻜﺘﺮ از ‪ 20‬اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪1 2 3‬‬
‫‪2 4 6‬‬
‫‪3 6 9‬‬
‫‪3‬‬
‫ﺮﯾﻦ ﺳﻮم ‪56 :‬ﻊ ارﻗﺎم‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﺟﻤﻊ ارﻗﺎﻣﺶ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪32523‬‬
‫)‪(٢‬‬
‫‪15‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۸۹/۰۱/۱۸‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ ﭼﻬﺎرم ‪ :‬اﺷﮑﺎل ﺳﺘﺎره ای‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﺷﻜﻞ ﺳﺘﺎره اي ﺑﺎ ﻗﻄﺮ ‪ 1 + 2 * n‬را ﭼﺎپ ﻛﻨﺪ‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫*‬
‫***‬
‫*****‬
‫*******‬
‫*****‬
‫***‬
‫*‬
‫‪3‬‬
‫ﺮﯾﻦ ﭘﻨﺠﻢ ‪AB :‬ﺎﺳﺒﺎت ﻋﺪدی‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ x‬را از ورودي ﮔﺮﻓﺘﻪ و ‪ 3‬ﻣﻘﺪار )‪ cos(x) ،sin(x‬و ‪ ex‬را ﺣﺴﺎب ﻛﺮده و در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ‪ .‬ﺑﺮاي‬
‫ﻣﺤﺎﺳﺒﻪي اﻳﻦ ‪ 3‬ﻣﻘﺪار ﻧﺒﺎﻳﺪ از ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ‪ cmath‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ و ﻣﻲ ﺗﻮاﻧﻴﺪ از ﺑﺴﻂﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ زﻳﺮ اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺮﯾﻦ ﺷﺸﻢ ‪AB :‬ﺎﺳﺒﺎت ﻫﻨﺪﺳﯽ‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ در اﺑﺘﺪا ﻳﻚ ‪ character‬را از ورودي ﺑﮕﻴﺮد‪ .‬ﺳﭙﺲ اﮔﺮ اﻳﻦ ‪ character‬ﺑﺮاﺑﺮ ﺑﺎ ‪ q‬ﺑﻮد ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺧﺎﺗﻤﻪ دﻫﺪ و‬
‫در ﻏﻴﺮ اﻳﻦ ﺻﻮرت‪ ،‬در ﺻﻮرﺗﻲ ﻛﻪ ﺑﺮاﺑﺮ ﺑﺎ ‪ L‬ﺑﻮد ﻣﺨﺘﺼﺎت ‪ 4‬ﻧﻘﻄﻪ را از ورودي ﺑﮕﻴﺮد و ﻣﺨﺘﺼﺎت ﻧﻘﻄﻪي ﺑﺮﺧﻮرد‪ ‬ﺧﻂ‪ ‬ﮔﺬرﻧﺪه از آن‪-‬‬
‫ﻫﺎ را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ و دوﺑﺎره ﻣﻨﺘﻈﺮ ورود ‪ charcter‬ﺑﻤﺎﻧﺪ‪ ،‬اﮔﺮ ﺑﺮاﺑﺮ ﺑﺎ ‪ C‬ﺑﻮد اﻳﻦ ﺑﺎر ﻧﻘﺎط ﻣﺮﻛﺰ ‪ 2‬داﻳﺮه و ﺷﻌﺎع ﻫﺎﻳﺸﺎن را از‬
‫ورودي ﮔﺮﻓﺘﻪ و ﻣﺨﺘﺼﺎت ﻧﻘﺎط ﺑﺮﺧﻮردﺷﺎن )در ﺻﻮرت وﺟﻮد( را ﭼﺎپ ﻛﻨﺪ و ﺑﺎز ﻣﻨﺘﻈﺮ ‪ character‬ﺑﻤﺎﻧﺪ‪،‬اﮔﺮ ﺑﺮاﺑﺮ ﺑﺎ ‪ M‬ﺑﻮد اﻳﻦ‬
‫ﺑﺎر ﻧﻴﺰ ﻣﺨﺘﺼﺎت ﻣﺮﻛﺰ ‪ 2‬داﻳﺮه را از ورودي ﮔﺮﻓﺘﻪ و ﻃﻮل ﻣﻤﺎس ﻣﺸﺘﺮك ﺧﺎرﺟﻲﺷﺎن را ﺣﺴﺎب و ﭼﺎپ ﻛﻨﺪ و ﺑﺎز ﻣﻨﺘﻈﺮ‬
‫‪ character‬ﺑﻤﺎﻧﺪ‪.‬‬
‫)‪(٣‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۸۹/۰۱/۱۸‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ ﻫﻔﺘﻢ‪ :‬ﺗﻌﺪاد ﻣﻘﺴﻮم ﻋﻠﯿﻪ ﻫﺎ‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ﻃﺒﻴﻌﻲ ‪ n‬را از ورودي ﺑﺨﻮاﻧﺪ و ﺗﻌﺪاد ﻣﻘﺴﻮم ﻋﻠﻴﻪ ﻫﺎﻳﺶ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﻋﺪد ورودي از ‪ 100،000،000‬ﻛﻮﭼﻜﺘﺮ اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪36‬‬
‫‪9‬‬
‫ﺮﯾﻦ ﻫﺸﺘﻢ‪ :‬ﺑﺰرﮔ‪NO‬ﯾﻦ ﻣﻘﻠﻮب‬
‫ﻣﻘﻠﻮب ﻋﺪد ﺻﺤﻴﺢ ‪ ،n‬ﻋﺪدي اﺳﺖ ﻛﻪ از ﺑﺮ ﻋﻜﺲ ﻛﺮدن ارﻗﺎم آن ﺑﻪ دﺳﺖ ﻣﻲ آﻳﺪ ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻣﻘﻠﻮب ﻋﺪد ‪ 195‬ﻋﺪد ‪ 591‬ﻣﻲ‬
‫ﺑﺎﺷﺪ و ﻣﻘﻠﻮب ﻋﺪد ‪ 4300‬ﻋﺪد ‪ 34‬اﺳﺖ‪ .‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪادي ﻋﺪد ﻃﺒﻴﻌﻲ را ﺑﺨﻮاﻧﺪ و ﻣﺸﺨﺺ ﻛﻨﺪ ﻛﻪ ﻣﻘﻠﻮب ﻛﺪام ﻳﻚ‬
‫از ﺑﻘﻴﻪ ﺳﺎﻳﺮﻳﻦ ﺑﻴﺶ ﺗﺮ اﺳﺖ‪.‬‬
‫در ورودي اﺑﺘﺪا ﻋﺪد ‪) k‬ﺗﻌﺪاد اﻋﺪاد( آﻣﺪه اﺳﺖ و ﺳﭙﺲ در ﻫﺮ ﻳﻚ از ‪ k‬ﺳﻄﺮ ﺑﻌﺪي‪ ،‬در ﻫﺮ ﺳﻄﺮ ﻳﻚ ﻋﺪد آﻣﺪه اﺳﺖ‪ .‬در ﺗﻨﻬﺎ ﺳﻄﺮ‬
‫ﺧﺮوﺟﻲ ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ‪ ،‬ﻋﺪدي ﻛﻪ ﻣﻘﻠﻮب آن از ﺳﺎﻳﺮﻳﻦ ﺑﻴﺸﺘﺮ اﺳﺖ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫ﻣﻴﺪاﻧﻴﻢ ‪ k‬ﻣﺜﺒﺖ و ﻛﻮﭼﻜﺘﺮ از ‪ 100،000‬و ﺳﺎﻳﺮ اﻋﺪاد ورودي در ﺑﺎزه ]‪ [1 ,100،000،000‬اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪3‬‬
‫‪17‬‬
‫‪18‬‬
‫‪55‬‬
‫‪5‬‬
‫‪1920‬‬
‫‪322‬‬
‫‪211‬‬
‫‪99‬‬
‫‪8010‬‬
‫)‪(٤‬‬
‫‪18‬‬
‫‪1920‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۸۹/۰۱/۱۸‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ ‪TS‬ﻢ‪ :‬زﯾﺮ ‪VB‬ﻤﻮﻋﻪ ﻫﺎ‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ﻣﺜﺒﺖ ‪ n‬و ﺳﭙﺲ ﻋﺪد ‪ 1‬را از ورودي ﺧﻮاﻧﺪه و ﺳﭙﺲ ﺗﻤﺎم زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎي ‪ k‬ﻋﻀﻮي‬
‫ﻣﺠﻤﻮﻋﻪي }‪ {1،2,......,n‬را ﺑﻪ ﺗﺮﺗﻴﺐ اﻟﻔﺒﺎﻳﻲ در ﺧﺮوﺟﻲ ﺑﻨﻮﻳﺴﺪ‪ .‬دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ اﻋﻀﺎي ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ در ﻳﻚ ﺧﻂ ﺑﻪ ﺻﻮرت‬
‫اﻛﻴﺪا ﺻﻌﻮدي ﻣﻲ ﺑﺎﻳﺴﺖ ﻧﻮﺷﺘﻪ ﺷﻮد و ﺧﻮد زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎ ﻧﻴﺰ ﺑﺎﻳﺪ اﺑﺘﺪا ﺑﺮ ﺣﺴﺐ ﻋﻨﺼﺮ اول )ﻛﻮﭼﻜﺘﺮﻳﻦ( ‪ ،‬ﺳﭙﺲ در ﺻﻮرت‬
‫ﺗﺴﺎوي ﺑﺮ ﺣﺴﺐ ﻋﻨﺼﺮ دوم و ‪ ....‬ﻣﺮﺗﺐ ﺷﻮﻧﺪ‪ .‬ﺣﺪاﻛﺜﺮ ﻣﻘﺪار ‪ 30 ،n‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫ﺳﻌﻲ ﻛﻨﻴﺪ اﻳﻦ ﺑﺮﻧﺎﻣﻪ را ﺑﻪ ‪ 2‬ﻃﺮﻳﻖ ﺑﺎزﮔﺸﺘﻲ و ﻏﻴﺮ ﺑﺎزﮔﺸﺘﻲ ﻧﻮﺷﺘﻪ و زﻣﺎن اﺟﺮاي آن ﻫﺎ را ﺑﺎ ﻫﻢ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ‪ .‬دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﺑﺮاي‬
‫ﻣﻘﺎﻳﺴﻪي زﻣﺎن اﺟﺮا‪ ،‬ﺑﻬﺘﺮ اﺳﺖ ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪﺗﺎن را در ﻳﻚ ﻓﺎﻳﻞ ﺑﺮﻳﺰﻳﺪ؛ ﻧﻈﻴﺮ‪:‬‬
‫ﻣﺜﺎل ورودي‬
‫‪a.exe > out.txt‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫‪3‬‬
‫‪2‬‬
‫‪4‬‬
‫‪1‬‬
‫» ﺑﺎ آرزوي ﺳﺎﻟﻲ ﻫﻤﺮاه ﺑﺎ ﺳﻼﻣﺘﻲ و ﻣﻮﻓﻘﻴﺖ «‬
‫» ﻧﻮروز ﻣﺒﺎرك «‬
‫)‪(٥‬‬
‫‪1 2‬‬
‫‪1 3‬‬
‫‪2 3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬