بکندباز

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

  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

برای ثبت پاسخ خود، ابتدا باید در سایت وارد شوید.

پاسخ های کاربران به این تمرین

DanialMahdik
تصحیح اتوماتیک
‎پایتون‎
20 مرداد 1405

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

user-lI4O
تصحیح اتوماتیک
‎پایتون‎
3 اسفند 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Alann2
تصحیح اتوماتیک
‎پایتون‎
14 بهمن 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Amin
تصحیح اتوماتیک
‎پایتون‎
25 مهر 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

MHRahimi
تصحیح اتوماتیک
‎پایتون‎
20 مهر 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

DnIYl_zr
تصحیح اتوماتیک
‎پایتون‎
24 شهريور 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Moohal
تصحیح اتوماتیک
‎پایتون‎
13 شهريور 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

user-jJQg
تصحیح اتوماتیک
‎پایتون‎
8 مرداد 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

mantix
تصحیح اتوماتیک
‎پایتون‎
26 ارديبهشت 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

arsep363
تصحیح اتوماتیک
‎پایتون‎
24 ارديبهشت 1404

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

MarsBoy
تصحیح اتوماتیک
‎پایتون‎
28 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

    DanialMahdik پاسخ

    سلام وقت شما بخیر
    آیا اگر ورودی 100 باشد نباید خروجی پرفکت باشد؟
    چرا که :
    1 + 0 + 0 = 1
    1 * 0 * 0 = 1 (صرف نظر از 0 ها)
    100 بر 1 هم که بخش پذیر است در تمامی مراحل پس باید پرفکت برگردانده شود

      backendbaz پاسخ

      سلام. وقت بخیر

      خیر. طبق نکات گفته شده، «اگر عدد حداقل یک رقم صفر داشته باشد، نمی‌تواند بر حاصل‌ضرب ارقام خود بخش‌پذیر باشد (تقسیم بر صفر).» پس شرط سوم رو نداره. ارقام صفر فقط برای شرط اول در نظر گرفته نمیشن اما برای دو شرط بعدی باید همه رقم ها در نظر گرفته بشه

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