راه
۷ کیو· سادهمبتدیPYTHON۴ ثانیه · ۲۵۶ مگابایت

آسونِ سخت

به شما یک آرایه از اعداد صحیح داده می‌شود. در این آرایه، ما به یک عدد کوئرایی می‌گوییم اگر دو شرط زیر به طور همزمان برقرار باشند:

  1. شرط اول (بخش‌پذیری بر ۶): خود عدد بر ۶ بخش‌پذیر باشد.
  2. شرط دوم (بخش‌پذیری اندیس بر ۶): شماره‌ی جایگاه (اندیس) آن عدد در آرایه بر ۶ بخش‌پذیر باشد. توجه: اندیس اولین عنصر آرایه ۱ در نظر گرفته می‌شود.

برنامه‌ای بنویسید که با دریافت یک آرایه از اعداد، تمام اعداد کوئرایی موجود در آن را پیدا کرده و به ترتیب صعودی در خروجی چاپ کند.

  • کد شما باید حداکثر یک خط باشد.
  • استفاده از کاراکتر ; یا تابع exec مجاز نیست.

💡 راهنمایی ۱: دسترسی به عناصر با اندیس‌های بخش‌پذیر بر ۶

برای دسترسی به عناصر یک لیست که اندیس آن‌ها بر ۶ بخش‌پذیر است (با شروع اندیس از ۱)، می‌توانید از برش آرایه (slicing) با گام ۶ استفاده کنید:

python
numbers = list(map(int, input().split()))
elements_at_indices_divisible_by_6 = numbers[5::6]  # اندیس ۵ = جایگاه ۶

💡 راهنمایی ۲: فیلتر کردن اعداد

برای فیلتر کردن اعداد بر اساس شرط بخش‌پذیری بر ۶، از List Comprehension استفاده کنید:

python
multiples_of_6 = [x for x in numbers if x % 6 == 0]

📥 ورودی

ورودی برنامه شامل یک خط است که در آن تعدادی عدد صحیح با فاصله از هم جدا شده‌اند. این اعداد، عناصر آرایه‌ی ورودی را تشکیل می‌دهند.

تعداد اعضای آرایه کمتر از 200 خواهد بود.

📤 خروجی

  • برنامه باید در یک خط، اعداد کوئرایی موجود در آرایه را به ترتیب صعودی چاپ کند.
  • بین هر عدد در خروجی باید دقیقاً یک فاصله باشد.
  • اگر هیچ عدد کوئرایی‌ای وجود نداشته باشد، برنامه باید یک خط خالی چاپ کند.

🎯 نمونه

ورودی ۱

text
1 2 3 4 5 6 7 8 9 10 11 12

خروجی ۱

text
6 12

عدد ۶ در جایگاه ۶ (اندیس ۵) قرار دارد و هم خودش و هم جایگاهش بر ۶ بخش‌پذیر هستند. عدد ۱۲ در جایگاه ۱۲ (اندیس ۱۱) قرار دارد و هم خودش و هم جایگاهش بر ۶ بخش‌پذیر هستند.

ورودی ۲

text
3 4 1 37 21 18 23 25 27 22 43 26

خروجی ۲

text
18

عدد ۱۸ در جایگاه ۶ (اندیس ۵) قرار دارد و هم خودش و هم جایگاهش بر ۶ بخش‌پذیر هستند.

ورودی ۳

text
6 12 8 9 1 18

خروجی ۳

text
18

عدد ۱۸ در جایگاه ۶ (اندیس ۵) قرار دارد و هم خودش و هم جایگاهش بر ۶ بخش‌پذیر هستند. عدد ۶ در جایگاه ۱ (اندیس ۰) قرار دارد که جایگاهش بر ۶ بخش‌پذیر نیست. عدد ۱۲ هم در جایگاه ۲ (اندیس ۱) قرار دارد که جایگاهش بر ۶ بخش‌پذیر نیست.


💡 راه‌حل یک‌خطی

python
print(*sorted([x for i, x in enumerate(map(int, input().split()), 1) if i % 6 == 0 and x % 6 == 0]))
  • input().split() ← دریافت ورودی و تبدیل به لیست رشته‌ها
  • map(int, ...) ← تبدیل رشته‌ها به عدد صحیح
  • enumerate(..., 1) ← پیمایش با اندیس شروع از ۱
  • if i % 6 == 0 and x % 6 == 0 ← هر دو شرط
  • sorted() ← مرتب‌سازی صعودی
  • * ← unpack کردن برای چاپ با فاصله
  • اگر لیست خالی باشد، print() یک خط خالی چاپ می‌کند.
  • کد باید یک‌خطی باشد.
  • از ; و exec استفاده نکنید.
  • اندیس‌ها از ۱ شروع می‌شوند، پس از enumerate(..., 1) استفاده کنید.
  • اعداد کوئرایی باید به ترتیب صعودی چاپ شوند.

✅ این تمرین را در ویرایشگر خود پیاده‌سازی کنید. به یاد داشته باشید که کد شما باید یک‌خطی باشد!

نمونه‌ها

ورودی نمونه ۱
1 2 3 4 5 6 7 8 9 10 11 12
خروجی نمونه ۱
6 12
ورودی نمونه ۲
3 4 1 37 21 18 23 25 27 22 43 26
خروجی نمونه ۲
18
ورودی نمونه ۳
6 12 8 9 1 18
خروجی نمونه ۳
18

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود