A Drop of the Programming Sea

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

A Drop of the Programming Sea

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

ممد قصد دارد یک رشته کاراکتر را تکه تکه کند!

او یک رشته به نام s و به سایز n و دو عدد p و q در اختیار دارد و میخواهد s را به قطعه هایی به طول های p و q تقسیم کند. برای مثال اگر s را "Hello" در نظر بگیریم، برای p=2 و q=3 او می تواند این رشته را به دو زیر رشته ی "Hel" و "lo" تقسیم کند یا در حالتی دیگر به دو زیر رشته ی "He" و "llo" نیز می تواند.

گفتنی است لزومی ندارد که حتماً از هر دو عدد p و q استفاده کند، می تواند رشته را به تعدادی زیر رشته به طول q تقسیم کند و بلعکس. (به مثال دوم در ادامه مطلب توجه کنید)

در انجام این کار خطیر ممد را مساعدت فرمایید.

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ آذر ۹۵ ، ۱۷:۱۸
Amirhossein Mahdinejad

تجزیه به عوامل اول 

قصد داریم به عنوان تمرین، و بدون استفاده از توابع، یک عدد صحیح مثبت را به عوامل اول آن تجزیه کنیم.


input
1032
output
2^3 * 3^1 * 43^1

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

چرخش‌های خارق‌العاده 

سیاره‌ی دوردست ویژگی‌های خارق‌العاده‌ای دارد. کاوش‌های دانشمندان فضایی نشان می دهد که سیاره‌ی دوردست، برخلاف سایر سیّاره‌ها به شکل مکعب است و بر روی هر وجهِ این سیاره‌ی مکعبی، نامی نوشته شده است. همچنین این سیاره به جای چرخش به دور یک محور، حول سه محور می‌چرخد...

input
2
Front Up Down Left Right Back
2
Z 4
X 4
Front Up Down Left Right Back
3
Z 1
X 1
Y 1
output
Front Up Down Left Right Back
Down Back Front Right Left Up
۰ نظر موافقین ۰ مخالفین ۰ ۲۲ مهر ۹۳ ، ۱۷:۳۰
Amirhossein Mahdinejad

در اینجا قصد داریم ماتریسی n × n با استفاده از کاراکترهای "D" و"*" ایجاد کنیم به طوری که یک کریستال لوزی شکل با کاراکترهای "D" در آن قابل رؤیت باشد. نگاه کردن به مثال ها شما را در فهم صورت سؤال یاری می کند...

input
7
output
***D***
**DDD**
*DDDDD*
DDDDDDD
*DDDDD*
**DDD**
***D***
۱ نظر موافقین ۰ مخالفین ۰ ۲۰ شهریور ۹۳ ، ۱۴:۲۶
Amirhossein Mahdinejad

قصد داریم با استفاده از تابع بازگشتی و کاراکتر '*'، مثلث قائم الزاویه ی متساوی الساقینی چاپ کنیم (شکل مفهوم است و نیاز به توضیح بیشتر ندارد)

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

۲ نظر موافقین ۰ مخالفین ۰ ۰۷ خرداد ۹۳ ، ۱۶:۳۱
Amirhossein Mahdinejad
در کتاب "Programming Android" مرحله به مرحله، برنامه نویسی اندروید را می آموزید تا با به کارگیری زبان قدرتمند جاوا قادر به طراحی و ساخت نرم افزار های مورد نیازتان بر روی گوشی اندرویدی خود باشید. حجم مطالب این کتاب متناسب با نیاز خواننده است و می تواند شما را تا سطح حرفه ای همراهی کند.

android programming

دانلود کتاب زبان اصلی Programming Android در ادامه مطلب...
۲ نظر موافقین ۰ مخالفین ۰ ۰۱ ارديبهشت ۹۳ ، ۲۲:۲۳
Amirhossein Mahdinejad

قلی در حال ساخت یک وب سایت است و الآن او روی بخش شماره صفحات پایین صفحه کار می کند. کل سایت n صفحه دارد که از 1 تا n شماره گذاری شده اند و برای کاربری که هم اکنون در صفحه ی p ام سایت باشد، پیمایشگر صفحات (navigation) به صورت زیر خواهد بود:

<< p - k p - k + 1 ... p - 1 (p) p + 1 ... p + k - 1 p + k >>

وقتی کسی بر روی دکمه ">>" کلیک می کند، به صفحه 1 هدایت می شود و زمانی که کسی بر روی دکمه "<< " کلیک می کند به صفحه n هدایت می شود. و البته اگر کسی بر روی اعداد کلیک کند، به صفحه مربوطه هدایت می شود و توجه داشته باشید که فقط k صفحه از راست و k صفحه از سمت چپ صفحه ای که در آن حضور دارد قابل رؤیت است.

● برخی شرایط در navigation وجود دارد :

      اگر صفحه ی 1 قابل رؤیت است، دکمه ">>" نباید چاپ شود.

      اگر صفحه ی n قابل رؤیت است، دکمه "<<" نباید چاپ شود.

      اگر شماره صفحه کوچکتر از 1 یا بیشتر از n است ، نباید چاپ شود .

در پیاده سازی این بخش از وبسایت، او را کمک کنید.

input
9 6 3
output
<< 3 4 5 (6) 7 8 9
۰ نظر موافقین ۱ مخالفین ۰ ۱۷ اسفند ۹۲ ، ۲۲:۲۶
Amirhossein Mahdinejad