دانه

دانه

متوسط

مقدمه

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

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

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

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

کدی بنویسید که این موارد را محاسبه کند:

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

بیشترین مقدار عدد صحیح

بر اساس مستندات Vim:

با فرض اینکه از اعداد ۶۴ بیتی استفاده می‌شود (به v:numbersize نگاه کنید)، یک عدد بدون علامت به 0x7fffffffffffffff یا 9223372036854775807 کوتاه می‌شود.

به عبارت دیگر، Vim script نمی‌تواند هیچ عددی بزرگ‌تر یا مساوی 2^63 را به‌صورت عدد صحیح بیان کند.

برخی از تست‌های این تمرین به اعداد صحیح ۶۴ بیتی نیاز دارند که فراتر از محدودیت اندازه‌ی عدد صحیح در Vim script است. به خاطر همین محدودیت، نتایج محاسبات با رشته‌ای سنجیده می‌شوند که مقدار عدد صحیح را بیان می‌کند، نه با بیان پاسخ به‌صورت Integer. آیا می‌توانید با پرهیز از اعدادی که از آنچه زبان مستقیماً اجازه می‌دهد بزرگ‌ترند، این مسئله را حل کنید؟

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

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

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