توجه کنید که باقیماندهٔ عدد شمارهٔ طبقه بر ۴ مهم است. اینکه ۱۰۱ باقیماندهٔ ۱ دارد یعنی پس از ۳ بار دکمه زدن دچار مشکلِ منهای شش میشوید. نخستین ۳ دکمه را مصرف کنید. سپس به یک عدد با باقیماندهٔ ۲ میرسید. از اینجا به بعد هر دو بار که دکمه را بزنید به مشکل منهای شش میخورید و به عددی با باقیماندهٔ ۲ میروید. دلیلش هم روشن است چون هر زمان که به مشکل منهای شش میرسید یک عدد مضرب ۴ دارید و کم کردن ۶ واحد باعث میشود که عدد جدید باقیماندهٔ ۲ داشته باشد.
پس کافیست از ۲۰، ۳ واحد بردارید و به جایش $(+1+1+1-6)$ به ۱۰۱ بیفزائید. سپس از ۱۷ دفعه دکمهٔ مانده، ببینید چند تا ۲ تا میتوانید بیرون بکشید که ۸ تا میشود. پس ۱۶ واحد از این ۱۷ تا را بردارید و به جایش $+8(+1+1-6)$ به حاصل جمع قبلی بیفزائید. و در آخر ۱ دفعه دکمه زدن میماند که $(+1)$ باید به حاصل جمع قبلی بیفزائید. پس بدون اینکه یکی یکی هر ۲۰ تا گام را جدا جدا حساب کنید، در یک حرکت بنویسید:
$$101+(+1+1-6)+8(+1+1-6)+(+1)=67$$
برای کاربرانی نیز که با برنامهنویسی آشنا هستند میتوانید یک برنامهٔ کوتاه و ساده نیز بنویسید که حاصل را برایتان بیازماید. در زیر با نرمافزار Maple یک رَویه procedure نوشتهایم که ورودیهای آن به ترتیب شمارهٔ طبقهٔ در شروع، و تعداد دفعههای زدن دکمهٔ آسانسور هستند.
elevator:=proc(startLevel::integer,buttonPressed::nonnegint)::integer:
local n,m:
n:=startLevel:
m:=buttonPressed:
while m>0 do
n:=n+1:
if n mod 4 = 0 then
n:=n-6:
end if:
m:=m-1:
end do:
return(n):
end proc;
که با اجرایِ elevator(101,20) خروجیتان ۶۷ خواهدشد.