آلفامتیک

آلفامتیک

متوسط

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

یک پازل «آلفامتیک» داده شده است؛ پاسخ درست را پیدا کنید.

آلفامتیک یک پازل است که در آن حروف درون واژه‌ها با عدد جایگزین می‌شوند.

برای مثال SEND + MORE = MONEY:

  S E N D
  M O R E +
-----------
M O N E Y

جایگزین کردن این‌ها با عددهای معتبر چنین نتیجه‌ای می‌دهد:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

این صحیح است چون هر حرف با عددی متفاوت جایگزین می‌شود و واژه‌ها پس از تبدیل به عدد، یک جمع معتبر می‌سازند.

هر حرف باید نماینده‌ی یک رقم متفاوت باشد و رقم نخست یک عدد چندرقمی نباید صفر باشد.

راهنمایی‌ها

می‌توانید این تمرین را با یک الگوریتم brute force حل کنید، اما احتمالاً عملکرد آن در زمان اجرا ضعیف خواهد بود. سعی کنید راه‌حل پیشرفته‌تری پیدا کنید. راهنمایی: می‌توانید الگوریتم جمع ستونی را امتحان کنید که معمولاً در دبیرستان آموزش داده می‌شود.

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

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

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