بيض Eliud

بيض Eliud

سهل

مقدمة

ورثت صديقتك Eliud مزرعة عن جدتها Tigist. كانت جدتها مخترعة، وكانت تميل إلى بناء الأشياء بطريقة معقدة أكثر من اللازم. يحتوي قن الدجاج على شاشة رقمية تعرض عددًا مشفّرًا يمثل مواضع كل البيضات التي يمكن جمعها.

تطلب منك Eliud أن تكتب برنامجًا يعرض العدد الفعلي للبيض في القن.

يُحسب ترميز معلومات المواضع كما يلي:

  1. افحص المواضع المحتملة لوضع البيض، وسجّل 1 عند وجود بيضة أو 0 عند وجود موضع فارغ.
  2. حوّل العدد من النظام الثنائي إلى النظام العشري.
  3. اعرض النتيجة على الشاشة.

المثال 1

سبعة صناديق تعشيش منفصلة مرتبة في صف، يحتوي كل من العش الأول والثالث والرابع والسابع على بيضة واحدة.

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

النظام الثنائي الناتج

1011001

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

العدد العشري على الشاشة

89

العدد الفعلي للبيض في القن

4

المثال 2

سبعة صناديق تعشيش منفصلة مرتبة في صف، لا يحتوي فيها إلا العش الرابع على بيضة.

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

النظام الثنائي الناتج

0001000

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

العدد العشري على الشاشة

8

العدد الفعلي للبيض في القن

1

التعليمات

مهمتك هي حساب عدد البتات التي قيمتها 1 في التمثيل الثنائي لعدد ما.

القيود

لا تمدّ يدك إلى دالة عدّ البتات التي توفرها لك المكتبة القياسية! بل حلّ هذه المسألة بنفسك باستخدام أدوات أساسية أخرى.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Elixir Exercism

مستعد لبدء بيض Eliud؟

سجّل في Exercism لتتعلّم وتتقن Elixir عبر 58 مفهومًا168 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.