بکندباز

یک آرایه از عددهای طبیعی 1 تا n را به ترتیب بنویسید. سپس عددها را یکی‌درمیان حذف کنید. عدد اول را حذف کنید و دومی را نگه دارید، سومی را حذف کنید و چهارمی را نگه دارید و به همین شکل تا آخر آرایه پیش بروید. حالا یک آرایۀ جدید دارید که تعداد اعضایش کمتر شده. سپس همین کار را برای آرایۀ جدید تکرار کنید ولی از سمت راست، یعنی عدد آخر را حذف کنید و عدد یکی مانده به آخر را نگه دارید، عدد دوتا مانده به آخر را حذف کنید و عدد سه تا مانده به آخر را نگه دارید و به همین شکل تا اول آرایه. دوباره جهت حذف کردن را برای آرایۀ جدیدی که به‌دست می‌آید، عوض کنید. انقدر این مراحل را تکرار کنید که در نهایت به یک آرایۀ تک‌عضوی برسید. آن عدد باقی‌مانده در آرایۀ تک‌عضوی، چه عددی است؟

تمرین: تابعی بنویسید که عدد n را به عنوان آرگومان بگیرد و همین کارها را تا رسیدن به آرایۀ تک‌عضوی انجام دهد و عدد داخل آن آرایۀ تک‌عضوی را در خروجی برگرداند.

به عنوان یک مثال، آرایۀ زیر را در نظر بگیرید:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

چون آخرین عدد آرایه عدد 9 است، پس n برابر با 9 می‌باشد. سپس ابتدا یکی‌درمیان عددهای از اول آرایه حدف می‌کنیم. به آرایۀ زیر می‌رسیم:

[2, 4, 6, 8]

سپس این بار از سمت راست یکی‌درمیان حذف می‌کنیم. به آرایۀ زیر می‌رسیم:

[2, 6]

سپس دوباره از اول آرایه حذف می‌کنیم. اینجا دیگر به آرایۀ تک‌عضوی 6 می‌رسیم:

[6]

 پس برای عدد 9، تابع باید عدد 6 را برگرداند.

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

last_remaining(9) ➞ 6

last_remaining(14) ➞ 8

self.assertEqual(last_remaining(9), 6)
self.assertEqual(last_remaining(14), 8)

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

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

Amin
تصحیح اتوماتیک
‎پایتون‎
22 آبان 1404

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

user-qmDa
تصحیح اتوماتیک
‎پایتون‎
14 مهر 1403

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

FDK2077
تصحیح اتوماتیک
‎پایتون‎
24 اسفند 1402

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

AmirNamdari
تصحیح اتوماتیک
‎پایتون‎
20 اسفند 1402

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

alitayyar
تصحیح اتوماتیک
‎پایتون‎
17 دي 1402

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

Abolfazl1997
تصحیح اتوماتیک
‎پایتون‎
14 دي 1402

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

quchani
تصحیح اتوماتیک
‎پایتون‎
7 دي 1402

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

shayan0081
تصحیح اتوماتیک
‎پایتون‎
30 آذر 1402

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

aliahmadi98
تصحیح اتوماتیک
‎پایتون‎
30 آبان 1402

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

Gorjiiran
تصحیح اتوماتیک
‎پایتون‎
7 شهريور 1402

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

mory
تصحیح اتوماتیک
‎پایتون‎
5 شهريور 1402

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

user-mqtz
تصحیح اتوماتیک
‎پایتون‎
4 شهريور 1402

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

nimiiiu
تصحیح اتوماتیک
‎پایتون‎
24 مرداد 1402

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

mohamad0232
تصحیح اتوماتیک
‎پایتون‎
25 ارديبهشت 1402

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

Mina
تصحیح اتوماتیک
‎پایتون‎
19 فروردين 1402

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

mantix
تصحیح اتوماتیک
‎پایتون‎
6 فروردين 1402

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

Foad
‎پایتون‎
21 بهمن 1401

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

sharingun
‎پایتون‎
11 بهمن 1401

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

rezagh3
‎پایتون‎
30 آبان 1401

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

hamed3033
‎پایتون‎
30 آبان 1401

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

rezashoja
‎پایتون‎
17 مهر 1401

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

Reza_Amraei
‎پایتون‎
5 مهر 1401

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

ali-zizo
‎پایتون‎
24 شهريور 1401

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

mehrdad
‎پایتون‎
19 شهريور 1401

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

نظرات

*
*