Module: عملیات بیت (پایتون)


Problem

13 /13


معلم ریاضیات یوری پتروویچ

Problem

معلم افسانه ای ریاضی یوری پتروویچ یک بازی خنده دار با اعداد ارائه کرد. یعنی، با گرفتن یک عدد صحیح دلخواه، آن را به یک سیستم اعداد باینری ترجمه می کند و دنباله ای از صفرها و یک ها را به دست می آورد که با یک شروع می شود. (مثلاً عدد اعشاری\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ )  در سیستم باینری به صورت 10011 نوشته خواهد شد. 2.) سپس معلم شروع به جابجایی ارقام عدد دودویی حاصل در یک چرخه می کند (به طوری که رقم آخر اولین رقم می شود و بقیه یک موقعیت به سمت راست منتقل می شوند)، نوشتن. دنباله های صفر و یک به دست آمده را در ستون — او متوجه شد که بدون توجه به انتخاب عدد اولیه، دنباله های حاصل از یک لحظه خاص شروع به تکرار می کنند. و در نهایت، یوری پتروویچ حداکثر اعداد نوشته شده را پیدا می کند و با در نظر گرفتن این عدد نتیجه دستکاری های انجام شده، آن را به سیستم اعداد اعشاری ترجمه می کند. بنابراین، برای عدد 19، لیست دنباله ها به صورت زیر خواهد بود:
10011
11001
11100
01110
00111
10011

بنابراین نتیجه بازی یک عدد خواهد بود \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{ 10} \)

از آنجایی که بازی اختراع شده با اعداد بیشتر و بیشتر تخیل معلم را می گیرد و در نتیجه حواس او را از کار با دانش آموزان بسیار با استعداد منحرف می کند، از شما خواسته می شود برنامه ای بنویسید که به یوری پتروویچ کمک کند بدون محاسبات دستی خسته کننده به نتیجه بازی برسد.
 
ورودی:
فایل ورودی حاوی یک عدد صحیح N (0<=N<=32767) است.
خروجی: 
برنامه شما باید یک عدد صحیح برابر با نتیجه بازی در فایل خروجی چاپ کند.

نمونه‌ها <سر> <بدن>
# ورودی خروجی
1 1 1