اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!

ورود ثبت‌نام راهنما درباره‌ی کاهو
پرسش‌ها برچسب‌ها کاربر‌ها سوال بپرسید!

آمار پرسش:

  • پرسیده شده: 2014-09-03 04:15:32 -0500
  • مشاهده شده: 541 بار
  • بروز شده: 2016-04-08 09:25:54 -0500

پرسش‌های مشابه:

سوال 3- صفر کردن تمام اعداد یک جدول جادویی

سوال4 - ارائه روشی برای مرتب‌سازی کارت‌ها با هرگونه وضعیت اولیه قرار گرفتن در ماشین

سوال 5 - ترتیب کارت‌ها در ماشین درهم‌ساز

سوال ۱ روز دوم مرحله ۲ دوره ۲۳: رشته‌ی نزدیک

بازی رنگی - سوال ۱ - مرحله ۲ - ۱۳۹۳

وزنه‌ها و ماشین جادویی - سوال ۲ - مرحله ۲ - ۱۳۹۳

گاوی خسیس - سوال ۳ - مرحله ۲ - ۱۳۹۳

انتقال مهره‌های گاوی - سوال ۴ - مرحله ۲ - ۱۳۹۳

یافتن کوچکترین پیچ و مهره با مقایسه آنها

دنباله و جادوگر - دوره ی 24 - مرحله ی 2

نکاتی در مورد نوشتن پاسخ:

در این قسمت می‌تونی به یک پرسش پاسخ بدی. اگه می‌خوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخ‌ها مفید هستند حتما بهشون رای بده تا پرسش‌ها و پاسخ‌های خوب مشخص بشن.

استفاده از ویرایشگر:

توی قسمت پیش‌نمایش می‌تونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
می‌تونی از تگ‌های معمولی و ساده‌ی html هم استفاده کنی.
با دکمه‌هایی که بالای ویرایش‌گر قرار دارند کلی کار می‌شه کرد. از عکس‌گذاشتن بگیر تا لیست شماره‌دار. حتما امتحان‌شون کن.

علائم ریاضی:

برای نوشتن علائم ریاضی می‌تونی از Mathjax استفاده کنی. راهنمای Mathjax رو از سایت math.stackexchange بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.

سوال 1- ثابت کنید با استفاده از ماشین مبدل دودویی می توان هر عدد دودویی با n رقم را به هر عدد دودویی با nرقم تبدیل کرد.

7

ماشین مبدل دودویی یک عدد دودویی با $n$ رقم را از ورودی می گیردو با فشار دادن یکی از دو دکمه ی آن، یکی از دو تبدیل زیر را روی عدد ورودی انجام می دهد.

  1. دکمه ی یک: سمت راست ترین رقم را از 0 به 1 و از 1 به 0 تغییر می دهد.
  2. دکمه دو: سمت راست ترین رقم 1 را پیدا می کند و رقم سمت چپ آن را از 0 به 1 و از 1 به 0 تغییر می دهد. دقت کنید در صورتی که سمت راست ترین 1 در سمت چپ ترین مکان باشد یا رشته تمام 0 باشد، تغییری انجام نمی دهد.

برای مثال با استفاده از ماشین مبدل دودویی می توان عدد 001001 را به 011001 تبدیل کرد. روش تبدیل به این صورت است که ابتدا دکمه یک ، سپس دکمه دو و در انتها دکمه یک را فشار می دهیم. ثابت کنید با استفاده از ماشین مبدل دودویی می توان هر عدد دودویی با $n$رقم را به هر عدد دودویی با $n$ رقم تبدیل کرد.

۱۳۹۰ مرحله۲
2014-09-03 04:15:32 -0500
محمدی 2185 ● 55 ● 63 ● 94
پاک‌کردن   ویرایش سوال
نظرات

@محمدی عزیز ضمن سپاس از قرار دادن مساله های زیبای المپیادهای قبل، پیشنهاد میکنم اسم هر سوال رو به خلاصه ای از صورت سوال تغییر بدین و عناوینی مثل مرحله ۲ و سال برگزاری رو به برچسب های سوال منتقل کنید. این طوری فهرست سوالها خیلی خواناتر و جذاب تر میشه.

2014-09-04 00:48:39 -0500 کلاه قرمزی

ممنون از نظرتون. هدف، ایجاد یک منبع طبقه بندی شده از سوالهای سالهای گذشته ست. حتما از پیشنهادتون استفاده میکنم

2014-09-08 02:52:26 -0500 محمدی

سلام میدونستید انجمن علمی نخبگان دانشگاه صنعتی شریف مسابقه تخصصی مهارت سنجی برنامه نویسی و داده کاوی گذاشته است آدرس سایتش www.fanavard.com

2015-08-06 08:32:22 -0500 امیر شکری

سلام میگم یک سر به سایت www.fanavard.ir بزنید. مسابقات برنامه نویسی شون شروع شده. گواهی رسمی از طرف دانشگاه شریف می ده. 50 تا سکه هم جایزشه

2016-10-26 08:49:02 -0500 امیر شکری

2 پاسخ

4

استقرا ضعیف(!) میزنیم روی n :
پایه:برای n=1 شرط درست می باشد.
فرض:برای n شرط مسئله درست می باشد.
حکم برای n+1 نیز درست می باشد (تمامی اعداد).
راست ترین رقم را تبدیل به صفر میکنیم و سپس هر کار که در n رقم دودویی انجام میدادیم اجام میدهیم با این تفوت که هرگاه نیاز به دکمه 1 شد سمت راست ترین رقم را تبدیل به یک می کنیم(یعنی هر گاه به دکمه 2 نیاز داشتیم اگر سمت راست ترین رقم یک بود آن را با استفاده از دکمه 1 صفر میکنیم )و هرگاه نیاز به دکمه 2 شد سمت راست ترین رقم را صفر میکنیم (یعنی اگر دکمه 1 نیاز بود درصورتی که سمت راست ترین رقم صفر بود دکمه 1 را میزنیم) در پایان نیز آن به سمت راست ترین رقم آن عدد که می خواهیم عدد اولیه به آن تبدیل شود نگاه می کنیم اگر با این رقم عدد تولید شده مطلابقت نداشت دکمه 1 را میزنیم.
پس حکم اثبات شد %%.

2014-09-03 08:44:18 -0500
چشمک 2291 ● 29 ● 67 ● 119
پاک‌کردن   ویرایش پاسخ
3

میخوایم اثبات کنیم که هر رقمی رو میتونیم عوض کنیم. استقرای قوی میزنیم. پایه: رقم 1 از سمت راست رو میتونیم عوض کنیم بدون اینکه ارقام سمت چپش عوض شن با زدن کلید 1 فرض تمام ارقام 1 تا i از راست رو میتونیم عوض کنیم بدون این که ارقام سمت چپ هر کدوم در هر عمل عوض شن حکم: رقم i+1 رو میتونیم عوض کنیم. بدون اینکه ارقام i+2 به بعد عوض شن. اثبات: رقم i رو 1 میکنیم و ارقام i-1 تا 1 رو صفر میکنیم حالا کلید 2 رو میزنیم و عدد i+1 عوض میشه حالا ارقام i تا 1 رو به حالت اولیه بر میگردونیم. و فقط رقم i+1 عوض شده حالا با این عمل از چپ به راست هر رقم از عدد اولیه رو نگاه میکنیم اگه با عدد نهایی یکی بود که ردش میکنیم اگه نبود هم عوضش میکنیم و همینجور میایم به راست و آخرش میرسیم به عدد نهایی.

2016-04-08 09:25:54 -0500
ادن هازارد 71 ● 1 ● 1 ● 4
پاک‌کردن   ویرایش پاسخ

پاسخ شما

فقط در صورتی که پاسخی برای این پرسش دارید، آن را اینجا بنویسید و برای بحث کردن از قسمت «ثبت‌ نظر» استفاده کنید. شما می‌توانید قبل از وارد شدن به سایت پاسخ خود را بنویسید. این پاسخ ذخیره می‌شود و زمانی که شما وارد سایت شدید یا ثبت‌نام کردید منتشر می‌شود.

پیش‌نمایش:

کلیه‌ی حقوق این سایت متعلق به کمیته‌ی ملی المپیاد کامپیوتر است.