دانه

دانه

آسان

دستورالعمل‌ها

تعداد دانه‌های گندم روی یک صفحه‌ی شطرنج را حساب کنید، با این فرض که تعداد دانه‌ها در هر خانه دو برابر می‌شود.

روزی خدمتکاری دانا جان یک شاهزاده را نجات داد. پادشاه وعده داد هر چیزی را که خدمتکار در ذهنش می‌پروراند بپردازد. خدمتکار که می‌دانست پادشاه عاشق شطرنج است، به پادشاه گفت که دانه‌های گندم می‌خواهد. یک دانه در خانه‌ی اول صفحه‌ی شطرنج و تعداد دانه‌ها در هر خانه‌ی بعدی دو برابر می‌شود.

صفحه‌ی شطرنج ۶۴ خانه دارد (خانه‌ی ۱ یک دانه دارد، خانه‌ی ۲ دو دانه و به همین ترتیب).

کدی بنویسید که نشان دهد:

  • در یک خانه‌ی مشخص چند دانه وجود داشت و
  • تعداد کل دانه‌ها روی صفحه‌ی شطرنج

نکته

معمولاً به این نوع مسائل (که در آن‌ها پاسخ یک مسئله به پاسخ مسئله‌ی قبلی وابسته است) «بازگشت» می‌گویند. راه‌های مختلفی برای نوشتن کد بازگشتی وجود دارد؛ اگر با این مفهوم آشنا نیستید، شاید ارزش داشته باشد که کمی درباره‌اش تحقیق کنید. Pharo برای بازگشت به خوبی بهینه‌سازی شده است و الگویی پرکاربرد به شمار می‌رود.

نکته: در مشخصات اصلی مسئله، grainsCalculator با #square فراخوانی می‌شود، اما ما نام این متد را به #atSquare: تغییر داده‌ایم؛ نامی که بیشتر به Smalltalk شبیه است و بهتر نشان می‌دهد که شما پاسخی را «در یک خانه» می‌خواهید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Pharo Exercism

آماده‌اید دانه را شروع کنید؟

در Exercism ثبت‌نام کنید تا Pharo را همراه با 50 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.