مسیرها
/
Elixir
Elixir
/
تمرین‌ها
/
حاصل‌ضرب‌های پالیندروم
حاصل‌ضرب‌های پالیندروم

حاصل‌ضرب‌های پالیندروم

متوسط

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

حاصل‌ضرب‌های متقارن را در یک بازه‌ی مشخص پیدا کنید.

عدد متقارن عددی است که با برعکس شدن ارقامش تغییری نمی‌کند. برای مثال، 121 یک عدد متقارن است اما 112 نیست.

با داشتن یک بازه از اعداد، بزرگ‌ترین و کوچک‌ترین اعداد متقارنی را پیدا کنید که حاصل‌ضرب دو عدد درون آن بازه باشند.

راه‌حل شما باید بزرگ‌ترین و کوچک‌ترین اعداد متقارن را همراه با عامل‌های هر کدام در آن بازه برگرداند. اگر بزرگ‌ترین یا کوچک‌ترین عدد متقارن بیش از یک جفت عامل در آن بازه داشته باشد، همه‌ی جفت‌ها را برگردانید.

مثال ۱

با داشتن بازه‌ی [1, 9] (هر دو شامل)...

و با داشتن فهرست همه‌ی حاصل‌ضرب‌های ممکن در این بازه: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]

حاصل‌ضرب‌های متقارن همه اعداد یک‌رقمی هستند (در این حالت): [1, 2, 3, 4, 5, 6, 7, 8, 9]

کوچک‌ترین حاصل‌ضرب متقارن 1 است. عامل‌های آن (1, 1) هستند. بزرگ‌ترین حاصل‌ضرب متقارن 9 است. عامل‌های آن (1, 9) و (3, 3) هستند.

مثال ۲

با داشتن بازه‌ی [10, 99] (هر دو شامل)...

کوچک‌ترین حاصل‌ضرب متقارن 121 است. عامل‌های آن (11, 11) هستند. بزرگ‌ترین حاصل‌ضرب متقارن 9009 است. عامل‌های آن (91, 99) هستند.

testهای کند

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

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

آماده‌اید حاصل‌ضرب‌های پالیندروم را شروع کنید؟

در Exercism ثبت‌نام کنید تا Elixir را همراه با 58 مفهوم168 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.