Aşağıdaki süreci göz önünde bulundurun:
Negatif olmayan bir tamsayı N al.
örneğin N =
571
Baştaki sıfır olmadan ikili olarak ifade edin. (Sıfır kendisi tek istisna olmaktır
0
.)örneğin
571
=1000111011
ikili olarakBu ikili gösterimde art arda gelenleri ve sıfırları ayırın.
örneğin
1000111011
→1
,000
,111
,0
,11
Koşuları en uzundan en kısaya doğru sıralayın.
örneğin
1
,000
,111
,0
,11
→000
,111
,11
,1
,0
Her bir siradaki tüm basamağın üzerine, her zaman s ile baslayarak,
1
s ve0
s ile1
degistirilerek yazin.örneğin
000
,111
,11
,1
,0
→111
,000
,11
,0
,1
Yeni bir ikili sayı elde etmek için sonucu birleştirin.
örneğin
111
,000
,11
,0
,1
→1110001101
=909
ondalık
Bu işlem tarafından üretilen değerleri çizdiğinizde oldukça düzenli bir grafik elde edersiniz:
Ben Oluşan dizisini yüzden arıyorum Ve umarım belirgindir Temple Skyline dizisi :
Meydan okuma
Negatif olmayan bir tamsayı N alan ve ilgili Temple Skyline sıra numarasını yazdıran veya döndüren bir program veya işlev yazın. Giriş ve çıkışınız her ikisinde de ondalık olmalıdır.
Örneğin, eğer giriş ise 571
çıkış olmalıdır 909
.
Bayt cinsinden en kısa kod kazanır.
Başvuru için, dizideki terimler N = 0 - 20:
0 1
1 1
2 2
3 3
4 6
5 5
6 6
7 7
8 14
9 13
10 10
11 13
12 12
13 13
14 14
15 15
16 30
17 29
18 26
19 25
20 26
.BQ
yerine kullanabilirsinizjQ2
; bu8
, önceki ve arasındaki boşluğu kaybedebileceğiniz anlamına gelir2
.