Module: Bit İşlemleri (C++)


Problem

13 /13


Matematik öğretmeni Yuri Petrovich

Problem

Efsanevi matematik öğretmeni Yuri Petrovich sayılarla eğlenceli bir oyun buldu. Yani, keyfi bir tamsayı alarak, birden başlayarak bir dizi sıfır ve birler elde ederek onu ikili sayı sistemine çevirir. (Örneğin, ondalık sayı\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ )  ikili sistemde 10011 olarak yazılacak 2.) Daha sonra öğretmen, ortaya çıkan ikili sayının basamaklarını bir döngüde kaydırmaya başlar (böylece son basamak ilk olur ve diğerleri bir konum sağa kaydırılır), yazarak sütununda ortaya çıkan sıfır ve bir dizilerini çıkarın — ilk sayının seçimi ne olursa olsun, ortaya çıkan dizilerin belirli bir andan itibaren tekrar etmeye başladığını fark etti. Ve son olarak Yuri Petrovich, yazılan sayıların maksimumunu bulur ve bu sayının yapılan manipülasyonların sonucu olduğunu düşünerek onu tekrar ondalık sayı sistemine çevirir. Yani, 19 sayısı için dizi listesi şöyle olacaktır:
10011
11001
11100
01110
00111
10011

ve bu nedenle oyunun sonucu bir sayı olacaktır \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{ 10} \)

Sayılarla icat edilen oyun, öğretmenin hayal gücünü giderek daha fazla meşgul ettiğinden ve böylece onu çok yetenekli okul çocukları ile çalışmaktan uzaklaştırdığından, Yuri Petrovich'in sıkıcı manuel hesaplamalar yapmadan oyunun sonucunu almasına yardımcı olacak bir program yazmanız isteniyor.
 
Giriş:
Girdi dosyası tek bir tam sayı N (0<=N<=32767) içeriyor.
Çıktı: 
Programınız çıktı dosyasına oyunun sonucuna eşit tek bir tamsayı yazdırmalıdır.

Örnekler
# Girdi Çıktı
1 1 1