بکندباز

در این چالش، باید بررسی کنید که آیا یک عدد به طور دقیق بر ترکیبی از ارقام خود بخش‌پذیر است یا خیر. سه شرط ممکن برای آزمایش وجود دارد:

  1. عدد داده‌شده به طور دقیق بر هر یک از ارقام خود (به جز صفر) بخش‌پذیر باشد.
  2. عدد داده‌شده به طور دقیق بر مجموع ارقام خود بخش‌پذیر باشد.
  3. عدد داده‌شده به طور دقیق بر حاصل‌ضرب ارقام خود بخش‌پذیر باشد.

با توجه به یک عدد صحیح n، تابعی پیاده‌سازی کنید که خروجی زیر را برگرداند:

  • اگر همه آزمایش‌ها درست باشند، رشته "Perfect" برگردانده شود.
  • اگر برخی از آزمایش‌ها درست باشند، تعداد آزمایش‌های درست (۱ یا ۲) برگردانده شود.
  • اگر همه آزمایش‌ها نادرست باشند، رشته "Indivisible" برگردانده شود.

مثال

digital_division(21) ➞ 1
# فقط بر مجموع ارقام خود بخش‌پذیر است (۲ + ۱ = ۳).

digital_division(128) ➞ 2
# بر هر یک از ارقام خود بخش‌پذیر است.
# بر حاصل‌ضرب ارقام خود بخش‌پذیر است (۱ * ۲ * ۸ = ۱۶).

نمونه ورودی و خروجی

digital_division(100) ➞ 2

digital_division(12) ➞ "Perfect"

digital_division(31) ➞ "Indivisible"

نکات

  • هنگام بررسی بخش‌پذیری عدد بر هر یک از ارقام خود، ارقام صفر را نادیده بگیرید (به مثال سوم مراجعه کنید).
  • اگر عدد حداقل یک رقم صفر داشته باشد، نمی‌تواند بر حاصل‌ضرب ارقام خود بخش‌پذیر باشد (تقسیم بر صفر).
  • هر عدد یک‌رقمی بزرگ‌تر از ۰ به طور پیش‌فرض "Perfect" است.
  • عدد داده‌شده همیشه یک عدد صحیح مثبت بزرگ‌تر از ۰ خواهد بود.
digital_division(100)  ➞ 2
digital_division(12)  ➞ "Perfect"
digital_division(31)  ➞ "Indivisible"
digital_division(21)  ➞ 1
digital_division(128)  ➞ 2
digital_division(111)  ➞ "Perfect"
digital_division(40)  ➞ 2
digital_division(35)  ➞ "Indivisible"
digital_division(666)  ➞ 2

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط