A Drop of the Programming Sea

یک قطره از دریای برنامه نویسی: وبلاگ امیرحسین مهدی‌نژاد، برنامه‌نویس، مدرس برنامه‌نویسی و دانشجوی مهندسی کامپیوتر

A Drop of the Programming Sea

یک قطره از دریای برنامه نویسی: وبلاگ امیرحسین مهدی‌نژاد، برنامه‌نویس، مدرس برنامه‌نویسی و دانشجوی مهندسی کامپیوتر

۴۲ مطلب با موضوع «Programming :: C++ Programming» ثبت شده است

فیلم جدید "Die Hard" تازه در سینما اکران شده است. جلوی بلیت فروشی سینما، n نفر برای خرید بلیت صف بسته اند، هر فرد یکی از سه مقدار 25 یا 50 یا 100 دلاری پول دارد و هزینه ی بلیت 25 دلار است. آیا بلیت فروش میتواند به هر نفر یک بلیت بفروشد و باقیمانده ی پولش را نیز پس دهد؟ (او در ابتدا هیچ پولی در دخل ندارد و بنابراین ترتیب افراد مهم است)


input
4
25 25 25 100
output
YES

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ مهر ۹۲ ، ۲۱:۴۸
Amirhossein Mahdinejad

چاپ کردن مربّع توخالی با قطر

از مسائل پر اهمّیت برای شروع برنامه نویسی می توان به چاپ کردن اشکال هندسی مختلف اشاره کرد که یکی از معروف ترین آنها شکل مربع توخالی است، در اینجا می خواهیم با استفاده از کاراکتر * دو مربع تو خالی که در هر کدام، یکی از قطرها پر شده است، چاپ کنیم.

input
10
output
 ********
**       *
* *      *
*  *     *
*   *    *
*    *   *
*     *  *
*      * *
*       **
 ********

 ********
*       **
*      * *
*     *  *
*    *   *
*   *    *
*  *     *
* *      *
**       *
 ********

۱ نظر موافقین ۰ مخالفین ۰ ۲۷ شهریور ۹۲ ، ۱۷:۳۰
Amirhossein Mahdinejad

از مثالهای خیلی ساده و معروف برای شروع برنامه نویسی این بوده که مضارب 3 و 5 را در بازه ی 1 تا n نمایش دهیم. حالا چرا این مثال معروف شده خدا می داند! (با یه سرچ ساده می توانید به میزان معروف بودن آن پی ببرید)


input
76
output
15
30
45
60
75

۰ نظر موافقین ۱ مخالفین ۰ ۲۷ شهریور ۹۲ ، ۱۶:۱۸
Amirhossein Mahdinejad

تابع آکرمن 

در سال ۱۹۲۰ ویلهلم آکرمن و گابریل سودن، دو ریاضیدان دانشجوی دانشگاه دیوید هیلبرت بر روی مبانی محاسبات مطالعه می‌کردند. سودن با تابع نه چندان معروفی که به نام خود ثبت کرد شناخته می‌شود.که این تابع از نوع بازگشتی چند ضابطه‌ای بوده. مدتی بعد و به طور مستقل در سال ۱۹۲۸ اکرمن تابع بازگشتی خود که چندضابطه‌ای بود را ارائه داد. آکرمن ثابت کرد که تابع آکرمن یک تابع بازگشتی است که یک رایانه یا پردازشگر با حافظه بی‌کران می‌تواند آن را محاسبه کند اما یک تابع بازگشتی درجه اول مانند فاکتوریل یا تابع جمع نیست.
input
1
2
output
4

۳ نظر موافقین ۰ مخالفین ۰ ۳۰ فروردين ۹۲ ، ۱۶:۳۲
Amirhossein Mahdinejad

از مسائل پر اهمّیت برای شروع برنامه نویسی می توان به چاپ کردن اشکال هندسی مختلف اشاره کرد که یکی از معروف ترین آنها شکل لوزی است، در اینجا می خواهیم با استفاده از کاراکتر * یک لوزی توپر چاپ کنیم.

 

input
5
output
      *
     ***
    *****
   *******
  *********
   *******
    *****
     ***
      *

۱۰ نظر موافقین ۰ مخالفین ۰ ۲۳ فروردين ۹۲ ، ۱۶:۰۹
Amirhossein Mahdinejad

بازی دو نفره نیم 

تقریباً همه ی برنامه نویس ها با بازی نیم آشنا هستند، نیم یک بازی دو نفره و دارای استراتژی برد است که معمولاً با 3کپه از سنگ‌ریزه (یا لوبیا، چوب‌کبریت و...) انجام می‌شود. در هر نوبت هر بازیکن از یک کپه حداقل یک سنگ‌ریزه و حداکثر تمام کپه را بر می‌دارد. هر بازیکنی که نتواند در نوبت خود هیچ سنگ ریزه ای بردارد، باخته است.

۰ نظر موافقین ۰ مخالفین ۰ ۲۰ اسفند ۹۱ ، ۱۷:۱۳
Amirhossein Mahdinejad

در این نوع از مرتب سازی، یک خانه از آرایه ی دریافتی را به عنوان محور انتخاب می کنیم و تمام اعداد کوچکتر از آنرا به سمت چپ آن و تمام اعداد بزرگتر از آنرا به سمت راست آن می بریم. حال دو بخش جدید "چپ" و "راست" را به روش مقایسه ای از خانه ی 0 تا Size-1 در کنار یکدیگر می گذاریم.

برای آشنایی بیشتر با این الگوریتم، به فصل "الگوریتم های مرتب سازی" از کتاب Introduction to Algorithms مراجعه کنید.

input
5
1376 -7 7 10506 999
output
-7 7 999 1376 10506
۳ نظر موافقین ۰ مخالفین ۰ ۰۶ اسفند ۹۱ ، ۱۷:۱۶
Amirhossein Mahdinejad