توان دو


توان دو:🔗

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

مثال:

خروجی ورودی
1 0
128 100

بدخواه پویان


  • محدودیت ز مان: ۰.۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

بدخواه، بدِ پویان را میخواهد. او میداند که اگر پایِ یک عدد زوج مانند pp در میان باشد، پویان عاشق اعدادی است که باقیمانده شان بر pp بین p2+1\frac p 2+1 تا p1p-1 است. بنابراین بدخواه دنبال اعدادیست که باقیمانده‌شان بر pp بین 00 تا p2\frac p 2 است.

به بدخواه یک عدد داده شده‌است(آن را dd می‌نامیم). حال برای او سوالی پیش آمده و آن هم این است کوچکترین عدد طبیعی که مضرب dd است و باقیمانده‌اش بر pp بین 00 تا p2\frac p 2 است، چیست؟

ورودی🔗

سطر اول ورودی شامل اعداد pp و dd است که dd نشان‌دهنده‌ی عددی است که به بدخواه داده شده تا کوچکترین مضربش را که شرط داده شده را دارد، پیدا کند. دقت کنید که عدد pp زوج است!

2p100 2 \le p \le 100 1d1000 1 \le d \le 1000

خروجی🔗

تنها سطر خروجی باید شامل کوچکترین مضرب dd باشد که باقیمانده‌اش بر pp بین 00 تا p2\frac p 2 است.

مثال🔗

ورودی نمونه🔗

8 7  
Plain text

خروجی نمونه🔗

28
Plain text

توضیح: باقیمانده 7 بر 8، 7 است. باقیمانده 7+7=14 بر 8، 6 است. باقیمانده 7+7+7=21 بر 8، 5 است. و بالاخره باقیمانده 7+7+7+7=28 بر 8، 4 است. پس 28 کوچکترین مضرب 7 است که باقیمانده اش بر 8 بین 0 تا 4 می‌باشد.

اعداد فیثاغورثی


اعداد فیثاغورثی:🔗

برنامه‌ای بنویسید که سه عدد صحیح مثبت را به عنوان ورودی از کاربر دریافت کند و در صورتی که امکان ساخت مثلث قائم الزاویه با طول اضلاع داده شده وجود داشته باشد YES و در غیر این صورت NO چاپ کند.

مثال🔗

در جدول زیر نمونه‌هایی از ورودی و خروجی‌های این تابع داده شده است:

##ورودی نمونه 1

3
4
5
Plain text

##خروجی نمونه 1

YES
Plain text

##ورودی نمونه 2

7
10
8
Plain text

##خروجی نمونه 2

NO
Plain text

بدخواه مردم


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

بد خواه، بدِ مردم را میخواهد. از این رو بر آن شده است که مردم را سرگرم کند و وقتشان را تلف کند تا به کار های مهم زندگی نرسند. او ابتدا مردم را به یک اتاق دعوت می‌کند. سپس کیسه ای را با mm توپ سیاه و nn توپ سفید پر میکند. سپس از شخصی میخواهد تا دو توپ از کیسه بیرون بیاورد. اگر دو توپ هم رنگ بودند، یک توپ سفید جدید در داخل کیسه بیاندازد و اگر همرنگ نبودند، یک توپ سیاه جدید داخل کیسه بیاندازد. سپس دو توپ خارج شده را دور بیاندازد. آن شخص باید اینقدر این کار را تکرار کند تا دقیقاً یک توپ داخل کیسه باقی بماند. بعد از اینکه بد خواه از کسی خواهش کرد که او این کار را انجام دهد، قبل از این که آن شخص شروع به انجام کار کند بدخواه از آن اتاق بیرون رفته و وقتی که دقیقا یک توپ در کیسه باقی مانده بود به اتاق برمیگردد. دقت کنید که بدخواه از ترتیب بیرون آوردن توپ‌ها بی اطلاع است و تنها nn و mm را میداند. از آنجایی که بدخواه دنبال سرگرم کردن مردم است، میخواهد رنگ توپ داخل کیسه را پیش‌بینی کند. اما از آنجایی که ذاتاً آدم بی‌هنریست، توانایی انجام این کار را ندارد. از این رو بر آن شده است که از شما کمک بگیرد و از شما می‌خواهد که رنگ توپ را فقط با دانستن nn و mm برای او پیش بینی کنید یا به او بگویید امکان پیش‌بینی وجود ندارد زیرا امکان دارد توپ باقی‌مانده سفید یا سیاه (بسته به ترتیب بیرون آوردن توپ‌ها) باشد تا او بتواند با انجام حرکات موزون مردم را سرگرم کند تا ناتوانی او در پیش‌بینی را فراموش کنند.

ورودی🔗

سطر اول ورودی شامل دو عدد mm و nn است که به ترتیب نشان دهنده‌ ی تعداد توپ‌های سیاه و تعداد توپ‌های سفید اند. 1m,n1000 000 000 1 \le m,n \le 1000\ 000\ 000

خروجی🔗

تنها سطر خروجی باید شامل یک کلمه باشد:

  • whitewhite : به معنای اینکه توپ آخر سفید است.
  • blackblack : به معنای اینکه توپ آخر سیاه است.
  • nopredictionno prediction : به معنای اینکه امکان پیش‌بینی وجود ندارد.

مثال🔗

ورودی نمونه ۱🔗

2 2
Plain text

خروجی نمونه ۱🔗

white
Plain text

ورودی نمونه ۲🔗

3 6
Plain text

خروجی نمونه ۲🔗

black
Plain text

دسته‌بندی مثلث‌ها


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

محمدرضاص که کنکورش را داده، میخواهد در همه‌ی مسابقات برنامه‌نویسی کوئرا شرکت کند؛ اما اکنون درگیر دسته‌بندی کردن تعدادی مثلث است.

محمدرضاص باید nn‌مثلث را دسته‌بندی کند. او مختصات هر سه راس مثلث‌ها را دارد.

در ابتدا او باید به ازای هر سه نقطه، بدست آورد که آیا این سه نقطه تشکیل یک مثلث با مساحت مثبت میدهند یا نه. (اگر سه نقطه‌ی داده شده همخط باشند و یا یک جفت نقطه برابر بینشان باشد، این سه تشکیل یک مثلث را نمیدهند. در این حالات اگر آن سه را به هم وصل کنیم مساحت شکل بدست آمده برابر ۰ میشود.)

اگر سه نقطه داده شده مثلثی با مساحت مثبت بودند، او باید آن‌ها را دسته بندی کند. او مثلث‌ها را بر حسب زوایایشان به سه دسته تقسیم میکند:

  • مثلثی که یک زاویه بزرگتر از ۹۰ درجه دارد، مثلث باز، منفرجه یا obtuse نامیده میشود.
  • مثلثی که زاویه ۹۰ درجه دارد، مثلث قائم‌الزاویه، راست و یا right نامیده میشود.
  • مثلثی که هر سه زاویه‌ی آن کمتر از ۹۰ درجه است، مثلث حاد و یا acute نامیده میشود.

همچنین محمدرضاص این مثلث‌ها را بر اساس طول ضلع‌هایشان به سه دسته تقسیم میکند:

  • مثلثی که سه ضلع با طول‌های مختلف دارد، مثلث مختلف‌الاضلاع یا scalene نامیده میشود.
  • مثلثی که دو ضلع برابر دارد، مثلث متساوی‌الساقین یا isosceles نامیده میشود.
  • مثلثی که هر سه ضلعش برابر است نیز متساوی‌الاضلاع یا equilateral نامیده میشود. میتوانید فرض کنید چنین مثلث‌هایی را به محمدرضاص نمیدهند.

محمدرضاص برای اینکه به مسابقه‌ی کوئرا برسد، باید برنامه‌ای بنویسد که این کار را برای او انجام دهد. به او با نوشتن این برنامه کمک کنید!

ورودی🔗

در سطر اول ورودی یک عدد nn آمده است که نمایانگر تعداد مثلث‌های داده شده به محمدرضاص است.

در هر سطر از nn‌ سطر بعدی، مختصات رئوس یک مثلث آمده است. هریک از این خطوط شامل ۶ عدد صحیح x1,y1,x2,y2,x3,y3x_1, y_1, x_2, y_2, x_3, y_3 است که مختصات سه راس این مثلث برابر (x1,y1)(x_1, y_1) و (x2,y2)(x_2, y_2) و (x3,y3)(x_3, y_3) است.

1n1001 \le n \le 100 1 000x1,y1,x2,y2,x3,y31 000-1\ 000 \le x_1, y_1, x_2, y_2, x_3, y_3 \le 1\ 000

خروجی🔗

خروجی باید شامل nn سطر باشد. به ازای مثلث‌های ورودی، وضعیت و دسته‌بندی آن‌ها را به ترتیب ورودی در سطری جداگانه خروجی دهید. این وضعیت ۷ حالت میتواند داشته باشد:

  • not a triangle (اگر نقاط داده شده تشکیل یک مثلث با مساحت مثبت نمیدهند)
  • isosceles acute triangle
  • isosceles obtuse triangle
  • isosceles right triangle
  • scalene acute triangle
  • scalene obtuse triangle
  • scalene right triangle

مثال🔗

ورودی نمونه🔗

8
6 6 6 7 6 8
7 7 7 7 7 7
0 0 0 4 1 2
1 1 1 4 3 2
2 2 2 4 4 3
3 3 3 4 5 3
4 4 4 5 5 6
5 5 5 6 6 5
Plain text

خروجی نمونه🔗

not a triangle
not a triangle
isosceles obtuse triangle
scalene acute triangle
isosceles acute triangle
scalene right triangle
scalene obtuse triangle
isosceles right triangle
Plain text

مسابقه‌ی آسان


سجاد در یک مسابقه‌ شرکت کرده است. مسابقه به این صورت است که هر کس یک رقم (از ۰ تا ۹) انتخاب می‌کند و بایستی بگوید رقمی که انتخاب کرده در فاکتوریل روز تولدش چند بار تکرار شده است. مثلا سجاد رقم ۶ را انتخاب می‌کند و اگر روز تولدش ۵ مرداد باشد (که برابر با ۱۲۹ امین روز سال است) بایستی بگوید رقم ۶ چند بار در 129!129! تکرار شده است. برای این کار به سجاد کمک کنید.

محدودیت‌ها🔗

  • زبان C و C++
    • محدودیت زمان: ۵۰۰ میلی‌ثانیه
    • محدودیت حافظه: ۱۵۰ مگابایت
  • زبان پایتون و جاوا
    • محدودیت زمان: ۱۲۵۰ میلی‌ثانیه
    • محدودیت حافظه: ۲۰۰ مگابایت

ورودی🔗

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

خروجی🔗

تعداد تکرار رقم انتخابی سجاد در فاکتوریل روزی از سال که به دنیا آمده است را در یک خط چاپ کنید.

مثال🔗

نمونه ورودی ۱🔗

5 2
Plain text

نمونه خروجی ۱🔗

1
Plain text

توضیح نمونه ۱: مقدار 5!5! برابر ۱۲۰ است که رقم ۲ در آن تنها ۱ بار تکرار شده است.

نمونه ورودی ۲🔗

7 0
Plain text

نمونه خروجی ۲🔗

2
Plain text

چیدمان


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

عمو که فردی بسیار پول‌پرست است، به چیدن سکه‌هایش روی هم علاقه‌مند است.

عمو سکه‌هایش را روی یک خط بصورت nn ستون از سکه با ارتفاع برابر چیده است. عمو هرشب قبل از خواب ستون‌های سکه‌اش را برانداز میکند. او دیشب قبل از خواب متوجه‌شد که چیدمان سکه‌ها به‌هم خورده است. عمو پس از تحقیق متوجه‌شد که کریم، یک پسر‌بچه‌ی ۵ ساله‌ که به جابجایی سکه‌ها علاقه‌مند است، تعدادی سکه از هر ستون به ستون‌های دیگر منتقل کرده است.

حال عمو میخواهد بار دیگر ستون‌هایش را هم ارتفاع کند. او بدلیل خواب‌آلودگی، در هر دقیقه میتواند یک سکه از روی یکی از ستون ها برداشته و روی ستون دیگری بگذارد. با داشتن ارتفاع سکه‌ها بگویید که این مرتب سازی حداقل چند دقیقه از او وقت خواهد گرفت.

ورودی🔗

سطر اول ورودی شامل عدد nn است که نمایانگر تعداد ستون‌های سکه‌ی عمو است. در سطر iiم از هریک از nn سطر بعدی یک عدد طبیعی حداقل ۰ و حداکثر 10410^4 آمده است که ارتفاع ستون‌ها را نشان میدهد. تضمین میشود که عمو میتواند با حرکت گفته‌شده همه ستون‌ها را هم ارتفاع کند.

1n1041 \le n \le 10^4

خروجی🔗

در تنها سطر خروجی یک عدد چاپ کنید که برابر کمینه دقایقیست که عمو میتواند در آن ستون‌هایش را هم ارتفاع کند.

ورودی نمونه🔗

4
1
2
3
6
Plain text

خروجی نمونه🔗

3
Plain text

عمو میتواند یک سکه از ستون آخر به ستون دوم ببرد و ۲ سکه از ستون آخر به ستون اول تا ارتفاع همه‌ی ستون‌ها برابر ۳ شود.

جمع بزرگان


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

کیانوش متقاضی عضویت در سازمان OC است. در روز اول مصاحبه، سازمان پشتکار او را مورد بررسی قرار داده است.

سوال‌های روز اول مصاحبه‌ی کیانوش، اینچنین بودند:

عبارتی شامل دو عدد بزرگ و یک عملیات به شما میدهند. اگر عملیات جمع بود، باید مجموع آن دو عدد را خروجی دهید و اگر عملیات ضرب بود، باید ضرب آن دو را خروجی دهید...

کیانوش با شنیدن این جملات، بدون فرض اضافه‌ای با عزمی راسخ شروع به پاسخ دادن به سوالات کرد و وقت بسیاری روی آن گذاشت؛ غافل از اینکه در ادامه‌ی صورت سوال آمده است که اعداد داده شده حتماُ توانی از ۱۰ هستند. (میتوان آن ها را بصورت 10x10^x نوشت که xx یک عدد صحیح نامنفی است.)

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

ورودی🔗

ورودی شامل سه خط میشود. در خط اول و سوم ورودی هریک شامل یک عدد هستند. تضمین میشود هریک از این اعداد را میتوان بصورت 10x10^x نوشت که xx عددی صحیح بین ۰ تا ۱۰۰ است.

خط دوم ورودی شامل یک کاراکتر است. اگر آن کاراکتر + بود شما باید مجموع اعداد داده شده را خروجی دهید و اگر * بود باید ضرب آن ها را خروجی دهید.

خروجی🔗

در تنها سطر خروجی یک عدد چاپ کنید که برابر پاسخ عملیات داده‌شده است.

ورودی نمونه ۱🔗

10
+
100
Plain text

خروجی نمونه ۱🔗

110
Plain text

ورودی نمونه ۲🔗

10000
*
10
Plain text

خروجی نمونه ۲🔗

100000
Plain text