مسیرها
/
Zig
Zig
/
تمرین‌ها
/
تخم‌های الیود
تخم‌های الیود

تخم‌های الیود

آسان

مقدمه

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

Eliud از شما می‌خواهد برنامه‌ای بنویسید که تعداد واقعی تخم‌مرغ‌های داخل مرغدانی را نشان دهد.

رمزگذاری اطلاعات موقعیت به این صورت محاسبه می‌شود:

  1. مکان‌های بالقوه‌ی تخم‌گذاری را بررسی کنید و برای هر تخم‌مرغ موجود یک 1 و برای هر مکان خالی یک 0 یادداشت کنید.
  2. عدد را از دودویی به دهدهی تبدیل کنید.
  3. نتیجه را روی نمایشگر نشان دهید.

مثال ۱

هفت جعبه‌ی لانه‌ی مجزا که در یک ردیف چیده شده‌اند و لانه‌های اول، سوم، چهارم و هفتم هر کدام یک تخم‌مرغ دارند.

 _ _ _ _ _ _ _
|E| |E|E| | |E|

دودویی حاصل

۱۰۱۱۰۰۱

 _ _ _ _ _ _ _
|1|0|1|1|0|0|1|

عدد دهدهی روی نمایشگر

۸۹

تعداد واقعی تخم‌مرغ‌های داخل مرغدانی

۴

مثال ۲

هفت جعبه‌ی لانه‌ی مجزا که در یک ردیف چیده شده‌اند و تنها لانه‌ی چهارم یک تخم‌مرغ دارد.

 _ _ _ _ _ _ _
| | | |E| | | |

دودویی حاصل

۰۰۰۱۰۰۰

 _ _ _ _ _ _ _
|0|0|0|1|0|0|0|

عدد دهدهی روی نمایشگر

۸

تعداد واقعی تخم‌مرغ‌های داخل مرغدانی

۱

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

وظیفه‌ی شما این است که تعداد بیت‌های ۱ را در نمایش دوییی یک عدد بشمارید.

محدودیت‌ها

به سراغ آن قابلیت شمارش بیت که کتابخانه‌ی استانداردتان در اختیارتان می‌گذارد نروید! در عوض، این یکی را خودتان با ابزارهای پایه‌ی دیگر حل کنید.

پیاده‌سازی

برای این تمرین از توابع درون‌ساخت استفاده نکنید.

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

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

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