حساسیت‌ها

حساسیت‌ها

متوسط

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

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

آزمایش حساسیت یک امتیاز عددی واحد تولید می‌کند که اطلاعات مربوط به همه‌ی حساسیت‌های فرد (حساسیت‌هایی که برایشان آزمایش شده است) را در خود دارد.

فهرست مواد (و مقدارشان) که آزمایش شده‌اند چنین است:

  • تخم‌مرغ (۱)
  • بادام زمینی (۲)
  • صدف (۴)
  • توت‌فرنگی (۸)
  • گوجه‌فرنگی (۱۶)
  • شکلات (۳۲)
  • گرده (۶۴)
  • گربه (۱۲۸)

پس اگر تام به بادام زمینی و شکلات حساسیت داشته باشد، امتیاز او ۳۴ می‌شود.

حالا با داشتن فقط همان امتیاز ۳۴، برنامه‌ی شما باید بتواند بگوید:

  • اینکه آیا تام به هر یک از آن آلرژن‌های فهرست‌شده در بالا حساسیت دارد یا نه.
  • همه‌ی آلرژن‌هایی که تام به آن‌ها حساسیت دارد.

توجه: یک امتیاز مشخص ممکن است شامل آلرژن‌هایی باشد که در بالا فهرست نشده‌اند (یعنی آلرژن‌هایی با امتیاز ۲۵۶، ۵۱۲، ۱۰۲۴ و غیره). برنامه‌ی شما باید آن مؤلفه‌های امتیاز را نادیده بگیرد. برای مثال، اگر امتیاز حساسیت ۲۵۷ باشد، برنامه‌ی شما باید فقط حساسیت تخم‌مرغ (۱) را گزارش کند.

ضمیمه

Note

دستورالعمل‌های بالا با یک مخزن مشترک همگام‌سازی شده‌اند تا یکدستی میان همه‌ی trackهای زبانی تضمین شود. این ضمیمه توضیحات تکمیلی ارائه می‌دهد یا در صورت لزوم دستورالعمل‌ها را تغییر می‌دهد تا همخوانی بهتری با اهداف track کلوژر داشته باشد.

برای این تمرین در track کلوژر، می‌توانید فرض کنید که خروجی تابع allergies یک vector است، همان‌طور که testها نشان می‌دهند. با این حال، این یک الزام سخت‌گیرانه نیست؛ آزادید هر مجموعه‌ی ترتیبی دیگری را برگردانید.

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

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

در Exercism ثبت‌نام کنید تا Clojure را همراه با 12 مفهوم105 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.

بررسی عمیق حساسیت‌ها!

جابه‌جایی بیت‌ها، مقایسه‌ی بیتی و دیگر مفاهیم اعداد دودویی را بررسی می‌کنیم! نگاهی هم به راه‌حلی با استفاده از تطبیق الگو و رویکردی جالب در Erlang با استفاده از بازگشت می‌اندازیم.