نوشتن عدد در مبنای فیبوناچی
در این سوال هدف نوشتن یک عدد با ارقام ۰ و ۱ است که iامین رقم از سمت راست اگر ۱ باشد یعنی Fi (عدد فیبوناچی i-ام) واحد به عدد اضافه میشود.
مبنای فیبوناچی را میتوان به صورت یکتا به دست آورد اما اینجا مهم نیست کدام یک از این حالتها ساخته شود. (در حالت عادی میتوان هر عدد را به چند صورت در مبنای فیبوناچی نوشت.)
میخواهیم طوری عدد را بسازیم که زمان یک واحد افزایش و کاهش عدد به صورت سرشکن ثابت باشد. (در صورت سوال گفته درج و حذف که احتمالاً منظورش این بوده است که عدد را به صورت یک رشته در نظر بگیریم، هر چند باز هم معنی حذف و درج با افزایش و کاهش متفاوت است)
حل:
برای کاهش و افزایش یک عدد در مبنای فیبوناچی، چون دو عدد اول در فیبوناچی ۱ هستند، حالتی که یکی از دو رقم ۰ باشد (هنگام افزایش) یا ۱ باشد (هنگام کاهش) به سادگی میتوانیم با تغییر این بیت عدد را بسازیم.
(این داستان ادامه دارد...)