الگوریتم زیر را در نظر بگیرید:
برای مثال٬ اگر به این الگوریتم عدد ۹ را بدهیم خروجی مقدار ۲ را برمیگرداند. اکنون فرض کنید اعداد ۱ تا ۱۳۸۸ را یکی یکی به این الگوریتم میدهیم و هربار خروجی الگوریتم را یادداشت میکنیم. بزرگترین عددی که یادداشت میکنیم٬ چند است؟
پاسخ
گزینه (۲) درست است.
اگر عدد x را در مبنای دو در نظر بگیریم گامهای اول و دوم داخل حلقه باعث میشوند که اگر کمارزشترین رقم عدد x صفر بود یکی به a اضافه شود و گام سوم باعث میشود که رقم کمارزش عدد در مبنای دو حذف شود. این سیکل در انتها تعداد رقمهای صفر عدد را به عنوان خروجی میدهد. از بین اعداد ۱ تا 1388 عدد 210 بیشترین تعداد یعنی ۱۰ صفر در مبنای دو دارد.