All Your Base

All Your Base

متوسط

مقدمه

شما همین تازه به عنوان استاد ریاضیات استخدام شده‌اید. هفته‌ی اول خوب پیش رفت، اما در هفته‌ی دوم یک جای کار می‌لنگد. مشکل این است که هر پاسخی که دانشجویانتان می‌دهند غلط است! خوشبختانه مهارت‌های ریاضی‌تان به شما کمک کرده تا مشکل را پیدا کنید: پاسخ‌های دانشجویان درست هستند، اما همه‌شان در مبنای ۲ (دودویی) نوشته شده‌اند! شگفت‌آور است که معلوم شده هر هفته دانشجویان از مبنای دیگری استفاده می‌کنند. برای اینکه بتوانید سریع پاسخ‌های دانشجویان را بررسی کنید، ابزاری می‌سازید که بین مبناها تبدیل انجام می‌دهد.

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

دنباله‌ای از رقم‌ها در یک مبنا را، که نماینده‌ی یک عدد است، به دنباله‌ای از رقم‌ها در مبنای دیگر تبدیل کنید، به‌گونه‌ای که نماینده‌ی همان عدد باشد.

Note

تبدیل را خودتان پیاده‌سازی کنید. برای انجام تبدیل، از راه دیگری استفاده نکنید.

درباره‌ی نمایش مکانی

در نمایش مکانی، یک عدد در مبنای b را می‌توان به‌صورت ترکیب خطی توان‌های b فهمید.

عدد ۴۲، در مبنای ۱۰، یعنی:

(4 × 10¹) + (2 × 10⁰)

عدد ۱۰۱۰۱۰، در مبنای ۲، یعنی:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

عدد ۱۱۲۰، در مبنای ۳، یعنی:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

بله. آن سه عدد بالا دقیقاً یکسان‌اند. تبریک!

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

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

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