سوالات هفته دوم، دومین دوره لیگ مای‌کد به همراه پاسخ

سوالات هفته دوم، دومین دوره لیگ مای‌کد به همراه پاسخ

سوالات چالشی هفته دوم دومین دوره لیگ مای‌کد به همراه پاسخ‌های مورد انتظار تست کیس‌ها جهت آشنایی بیشتر شرکت‌کنندگان در لیگ منتشر می‌گردد.

پاسخ‌های تیم برنده جهت افزایش جنبه آموزشی  و استفاده سایر شرکت‌کنندگان پس از آزمون کامنت گذاری شده است.

دریافت
عنوان: پر کردن داده‌های از دست رفته با میانه
حجم: 247 کیلوبایت

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


دریافت
عنوان: پیدا کردن مساحت بیشینه و کمینه مستطیل با محیط n
حجم: 195 کیلوبایت

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


دریافت
عنوان: یافتن nاُمین عدد در دنباله گئورگ کانتور
حجم: 177 کیلوبایت

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


تابع اصلی مرتبط با سوال اول

 
def main_func(numbers):
	#جدا کردن اعداد
	data=list(filter(lambda x: x!="?", numbers.split()))
	nums=list(map(int, data))

	#مرتب کردن اعداد از کوچک به بزرگ
	nums.sort()

	#محاسبه میانه در صورت زوج بودن تعداد اعداد
	if len(nums)%2==0:
		median=(nums[len(nums)//2-1]+nums[len(nums)//2])/2

	#محاسبه میانه در صورت فرد بودن تعداد اعداد
	else: median=nums[len(nums)//2]

	#جایگزین کردن علامت سوال با عدد میانه با دو رقم اعشار
	return numbers.replace("?", f"{median:.2f}")

تابع اصلی مرتبط با سوال دوم

def main_func(n, m):
	#تعریف متغیرهای اولیه
	areas=[]
	a=0.5
	b=n/2-a

	#حلقه اصلی برای محاسبه تمام مساحت های ممکن
	while a>0 and b>0:
		#افزودن مساحت به لیست مساحت ها در صورتی که a>=m و b>=m
		if a>=m and b>=m and a%0.5==0 and b%0.5==0:
			areas.append((a*b, *sorted([a, b])))

		#تغییر مقدار a و b برای محاسبه مقدار بعدی در حلقه
		a+=0.5
		b=n/2-a

	#گرفتن بیشترین و کمترین مساحت
	max_s=max(areas, key=lambda x: x[0])
	min_s=min(areas, key=lambda x: x[0])

	return f"{min_s[1]:.2f} {min_s[2]:.2f} {max_s[1]:.2f} {max_s[2]:.2f}"

تابع اصلی مرتبط با سوال سوم

 
def main_func(n):
	#تعریف متغیرهای اولیه(a همان صورت کسر و b مخرج کسر است)
	a=b=1
	soodi=True

	#حلقه برای پیدا کردن عدد nام دنباله
	for i in range(n-1):
		#حالت 1: صورت 1 باشد و دنباله صعودی باشد(در شروع دنباله صعودی در نظر گرفته شده است)
		if a==1 and soodi==True:
			b+=1
			soodi=False

		#حالت 2: مخرج 1 باشد و دنباله نزولی باشد
		elif b==1 and soodi==False:
			a+=1
			soodi=True

		#حالت 3: دنباله نزولی باشد
		elif soodi==False:
			a+=1
			b-=1

		#حالت 4: دنباله صعودی باشد
		elif soodi==True:
			a-=1
			b+=1

	return f"{a}/{b}"

۰ ۰ ۱ دیدگاه

دیدگاه‌ها (۱)

سلام وقت بخیر سوالات مجموعا 100 امتیاز داشته اند پس چطور امتیاز ثبت شده در لیست گروه ها ۲۰۰ امتیاز است با اینکه در هفته پیش امتیاز کامل کسب نکرده بودند؟

پاسخ:

۲۱ بهمن ۰۴، ۰۸:۰۱
سلام
در جدول مجموع امتیازات هفتگی درج میشه

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی

لیگ دانش‌آموزی ACM - مای‌کُد

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

دسته‌بندی
آخرین مطلب
پیوندها
بایگانی