فرض کنید a یک بیت دلخواه (۰ یا ۱) باشد. منظور از ˉa برابر با 1−a است. حال فرض کنید یک رشتهای دودویی داریم. در هر مرحله میتوان یکی از دو عمل زیر را انجام داد:
اگر ابتدا رشتهی دودویی ⟨0⟩ را داشته باشیم، با استفاده از دو عمل فوق نمایش دودویی چند عدد صحیح از ۲۱ تا ۲۶ را میتوانیم بسازیم؟ توجه کنید که قرار گرفتن رقمهای ۰ در ابتدای نمایش اشکال ندارد. برای مثال اگر به رشتهی ⟨0,0,1,1,0,1⟩ برسیم، در واقع عدد ۱۳ را ساختهایم.
راهنمایی
ثابت کنید یک عدد قابل ساختن است اگر و تنها اگر تعداد بیت های ۱ اش زوج باشد.
پاسخ
گزینهی ۳ درست است.
ثابت میکنیم یک عدد قابل ساختن است، اگر و تنها اگر در نمایش دودویی آن زوج رقم ۱ وجود داشته باشد. با انجام این دو نوع عمل، زوجیت تعداد ارقام ۱ تغییری نمیکند. کافی است ثابت کنیم هر عدد که نمایش دودویی آن زوج رقم ۱ دارد، قابل ساختن است. فرض کنید عدد n چنین باشد و 2p رقم ۱ و q رقم ۰ در نمایش دودویی آن موجود باشد. با تبدیل ۰ به ۰۱۱ به شکل زیر میتوان به رشتهی 011…1 که 2p رقم ۱ دارد، رسید: 0→101→011→10111→01111→… حال با تبدیل ۰ به ۰۰۰ به شکل زیر میتوان به رشتهی 00…011…1 رسید که 2p رقم ۱ و بیشتر از q رقم ۰ دارد: 011…1→10111…1→11011…1→00011…1→… حال با تبدیل ۰۱ به ۱۰ میتوان هر ۰ را آنقدر به سمت راست انتقال داد تا به جای مورد نظر برسد و به این ترتیب عدد n ساخته میشود.
در نمایش دودویی اعداد 21,22,…,26 تنها دو عدد هستند که زوج رقم ۱ دارند. پس پاسخ برابر ۲ است.