بکندباز

تابعی بنویسید که بررسی کند آیا می‌توان یک لیست را به دو بخش تقسیم کرد: یکی شامل یک عنصر و دیگری شامل بقیه عناصر، به طوری که مقدار آن یک عنصر برابر با حاصل‌ضرب تمام عناصر باقی‌مانده باشد. اگر چنین تقسیمی امکان‌پذیر باشد، مقدار True و در غیر این صورت مقدار False را برگردانید.

مثال

can_partition([2, 8, 4, 1]) ➞ True
# 8 = 2 x 4 x 1

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

can_partition([2, 8, 4, 1]) ➞ True

can_partition([-1, -10, 1, -2, 20]) ➞ False

can_partition([-1, -20, 5, -1, -2, 2]) ➞ True

نکات

  1. لیست ممکن است شامل عناصر تکراری باشد.
  2. اگر چندین راه‌حل برای این تقسیم‌بندی وجود داشته باشد، هر راه‌حلی کافی است که مقدار True برگرداند.
  3. اگر هیچ راه‌حلی وجود نداشته باشد، مقدار False را برگردانید.
can_partition([2, 8, 4, 1])  ➞ True
can_partition([-1, -10, 1, -2, 20])  ➞ False
can_partition([-1, -20, 5, -1, -2, 2])  ➞ True
can_partition([1, 1, -1, 1])  ➞ False
can_partition([-1, -1, 1, 1])  ➞ True
can_partition([0, 5, 1, -1])  ➞ False
can_partition([0, 0, 1])  ➞ True

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

user-ixnb
امتیاز:‌ 1291
تصحیح اتوماتیک 0 0
‎پایتون‎
20 دي 1403

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

MarsBoy
امتیاز:‌ 1291
تصحیح اتوماتیک 0 0
‎پایتون‎
20 دي 1403

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

نظرات

*
*

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